SlideShare a Scribd company logo
1 of 19
Lessons Learned in
Applying Formal Concept Analysis
to Reverse Engineering
P
P

Abstract Z

Z
C

D

B

B

C
D

Gabriela B. Arévalo, Stéphane Ducasse, Oscar Nierstrasz
Software Composition Group
University of Bern, Switzerland
http://www.iam.unibe.ch/~scg
Roadmap
Motivation: Dependencies in Software Systems
High-Level Views based on FCA
Our Methodology and Issues to apply it
High-Level Views and Issues
Lessons Learned and Conclusions

University of Bern Gabriela B. Arévalo

2/19
Maintenance of Software Systems
Software System: Laws of Continuing Change
and Increasing Complexity
Maintenance of software systems
50% to 75 % of the total cost

50% - 75 %

Reading and Analysis of Software:
½ time of maintenance phase

50%

We need to detect Implicit Contracts between
software components in a system
University of Bern Gabriela B. Arévalo

3/19
Dependencies in Object Oriented Systems
Software System seen as a puzzle
Polymorphism
Delegation
Dynamic
Binding
Reuse

Data
Encapsulation

Inheritance

Dependency is the glue between the objects
Appear several times
Do not appear isolated
Can appear at different abstraction levels

University of Bern Gabriela B. Arévalo

4/19
High-Level Views based on Formal
Concept Analysis (FCA)

Object Oriented
Systems

P

Formal Concept
Analysis as a
base tool

High Level Views
P

Abstract Z

Z
C

D

B

C

B

D

University of Bern Gabriela B. Arévalo

5/19
Our Methodology
Magnitude
<
=

<

High Level Views

Interpretation
Analysis

=

=

=

Meaningful Concepts
Post-Filtering

Concept Lattice
ConAn Engine
Magnitude isAbstract

Modelling

<self send = ….. >

Elements and Properties

FCA Mapping
Magnitude

Integer

Source code model

Inheritance
Model Import

Source
Code

University of Bern Gabriela B. Arévalo

6/19
High Level Views
Abstract Z

XRay Views:
Class Level

Abstract Z

Hierarchy Schemas:
Class Hierarchy Level

B

C

P

Collaboration Patterns:
Application Level

Abstract Z

B

C

D

University of Bern Gabriela B. Arévalo

7/19
Elements and Properties

FCA Mapping
Source code model

Choice of Elements
Compact Representation of Data
Choice of Properties
Use of Negative Properties
Single or Multiple Contexts
Computation of Properties and
Elements

University of Bern Gabriela B. Arévalo

8/19
Concept Lattice

ConAn Engine
Elements and Properties

Performance of Ganter algorithm
Performance of Lattice Building
Algorithm
Unnecessary properties
Meaningful Concepts

Post-Filtering
Concept Lattice

Removal of Top and Bottom Concepts
Removal of Meaningless Concepts
University of Bern Gabriela B. Arévalo

9/19
High Level Views

Analysis
Meaningful concepts

Concept Interpretation based on
Elements and Properties
Equivalent Concepts
Automated Concept Interpretation
Use of Partial Order in the Lattice
Limit of using FCA as a grouping
technique

University of Bern Gabriela B. Arévalo

10/19
Abstract Z

XRay Views on Classes
Properties: Access to instance variables

a

b

m1()
Elements:
methods

uses

x

x

m2()

x

c

d

x

Top

e

x
x

m3()

x

m4()

x

m5()

x

m6()

x

(m1,m3,m6),
(d)

(m1,m2),
(a,b)

x
(m1),
(a,b,d)
Bottom

x
Class A

“XRay Views” is a set of
collaborations to show
patterns based on state and
behavior

a, b, c, d, e

m1() { .. a .. b .. d }
m2() { .. a .. b .. e }

University of Bern Gabriela B. Arévalo

11/19
Issues on X-Ray Views
Compact Representation of Data
m {…
self n;
self n }
Multiple FCA Contexts: Use of State and Behavior
Unnecessary Properties: isAbstract,
isStateless, isInterface
Meaningless Concepts
Methods: {m,n,p,q}
Concept: {m} {n,p,q}
University of Bern Gabriela B. Arévalo

12/19
Schemas on Class Hierarchies
Type of calls – Definer Class

invocations

self
m1

super

local

x
x

m3

x
x

descendant

A

x

m2

m4

ancestor

x
x

Analysis of Class Hierarchies
based on state and behavior
of a class to identify common,
bad smell and irregularity
design decisions

x

m3 { .... }

x

x

m2
{<abstract>}

x

m4
{<abstract>}

C

B
m1 { ... }
m2 { ... }
... { self m1 }
... { super m3 }

University of Bern Gabriela B. Arévalo

m1 { ... }
m4 { ... }
... { self m1 }
... { self m4 }
... { super m3 }

13/19
Issues on Schemas
Single Context
Compact Representation of Data:

Class C
m { ..... self p ....}
n { ... self p ... }
Use of negative Properties: no-local,
no-ancestor, no-descendant
Meaningless Concepts:
Concept: { m, n, p, q } { local }
Concept: { b, c , d } { no-ancestor }
University of Bern Gabriela B. Arévalo

14/19
Collaboration Patterns on
Object-Oriented Applications
Properties: Relationships between classes
Tuples of classes

Elements:

(1,2)Sub

(3,2)Sub

(C,A,P)

x

x

(C,A,B)

x

x

(Z,X,P)

x

(Z,X,Y)

x

(3,2)Acc

x

2

A

x

x

x

x

C

P

x

1

3

x

(3,2) Subclass
3

(2)Abs

x

x

(1,2) Subclass

2

1

(1,2)Acc

(2) Abstract

A

=

C

X

P

,

Z

(3,2) Accesses

University of Bern Gabriela B. Arévalo

15/19

Y
Issues on Collaboration Patterns
Choice of Elements and Properties:
(C A P) (1,2)subclass (1,3)access
Compact Representation of Data:
(C A P) (P C A) (P C A)
Meaningless Concepts:
(C A B) (Z X P) (1,2)subclass (2,1)access
Mapping Partial Order of the Lattice:
Subconcept

Concept

A
B

Superconcept

A
C

Overloaded Pattern

B

X
C

University of Bern Gabriela B. Arévalo

Y

A
Z

B

Almost Pattern

16/19

C
FCA is a useful technique
in Reverse Engineering …
Lack of a general methodology
Modelling software entities as FCA
components
Performance of FCA algorithms
Supporting Software Engineers
Interpretation of the Concepts
Use of the Complete Lattice
Use of the Partial Order

University of Bern Gabriela B. Arévalo

17/19
A successful application of FCA ….
High-level Views: XRay Views, Hierarchy
Schemas, Collaboration Patterns
Development of a methodology
Tool support of the Methodology: ConAn
Analysis of advantages and constraints
Interpretation without any mathematical
knowlege

University of Bern Gabriela B. Arévalo

18/19
Thank you !!
Abstract Z

Abstract Z

P

Z

B

C

C
D

B
P

Abstract Z

B

C

D

Questions ?
University of Bern Gabriela B. Arévalo

19/19

More Related Content

What's hot

Selected design patterns (as part of the the PTT lecture)
Selected design patterns (as part of the the PTT lecture)Selected design patterns (as part of the the PTT lecture)
Selected design patterns (as part of the the PTT lecture)
Ralf Laemmel
 

What's hot (10)

Comparison of Meta-Modeling Languages
Comparison  of Meta-Modeling LanguagesComparison  of Meta-Modeling Languages
Comparison of Meta-Modeling Languages
 
Interoperability of Meta-Modeling Tools
Interoperability of Meta-Modeling ToolsInteroperability of Meta-Modeling Tools
Interoperability of Meta-Modeling Tools
 
Mapping-Based Exchange of Models between Meta-Modeling Tools
Mapping-Based Exchange of Models between Meta-Modeling ToolsMapping-Based Exchange of Models between Meta-Modeling Tools
Mapping-Based Exchange of Models between Meta-Modeling Tools
 
Bringing Math to LOD
Bringing Math to LODBringing Math to LOD
Bringing Math to LOD
 
SVD and the Netflix Dataset
SVD and the Netflix DatasetSVD and the Netflix Dataset
SVD and the Netflix Dataset
 
Spline (Interpolation)
Spline (Interpolation)Spline (Interpolation)
Spline (Interpolation)
 
Summer training on matlab
Summer training on matlabSummer training on matlab
Summer training on matlab
 
MUMS Opening Workshop - Panel Discussion: Calibration in the Face of Model Di...
MUMS Opening Workshop - Panel Discussion: Calibration in the Face of Model Di...MUMS Opening Workshop - Panel Discussion: Calibration in the Face of Model Di...
MUMS Opening Workshop - Panel Discussion: Calibration in the Face of Model Di...
 
Selected design patterns (as part of the the PTT lecture)
Selected design patterns (as part of the the PTT lecture)Selected design patterns (as part of the the PTT lecture)
Selected design patterns (as part of the the PTT lecture)
 
Application of interpolation in CSE
Application of interpolation in CSEApplication of interpolation in CSE
Application of interpolation in CSE
 

Viewers also liked

The Spring Break joel
The Spring Break joelThe Spring Break joel
The Spring Break joel
guest56639c
 
Power Of Direct Mail
Power Of Direct MailPower Of Direct Mail
Power Of Direct Mail
Teresa Bartek
 
New concept Information systems
New concept Information systemsNew concept Information systems
New concept Information systems
mohanraj123
 
Jeopardy
JeopardyJeopardy
Jeopardy
HTS425
 

Viewers also liked (15)

John H Beebe
John H BeebeJohn H Beebe
John H Beebe
 
Hogenboom - press full for best quality
Hogenboom - press full for best qualityHogenboom - press full for best quality
Hogenboom - press full for best quality
 
The Spring Break joel
The Spring Break joelThe Spring Break joel
The Spring Break joel
 
Power Of Direct Mail
Power Of Direct MailPower Of Direct Mail
Power Of Direct Mail
 
Planer Geometry Guide
Planer Geometry GuidePlaner Geometry Guide
Planer Geometry Guide
 
IS Untangle Agile IT Management On-Demand
IS Untangle Agile IT Management On-DemandIS Untangle Agile IT Management On-Demand
IS Untangle Agile IT Management On-Demand
 
Packet Light Portfolio
Packet Light PortfolioPacket Light Portfolio
Packet Light Portfolio
 
Mspark introduction
Mspark introductionMspark introduction
Mspark introduction
 
New concept Information systems
New concept Information systemsNew concept Information systems
New concept Information systems
 
Navigating In The Australian Bush
Navigating In The Australian BushNavigating In The Australian Bush
Navigating In The Australian Bush
 
Jeopardy
JeopardyJeopardy
Jeopardy
 
Airline Retail Conference - Social Media and Luxury - Ruth Harrison
Airline Retail Conference - Social Media and Luxury - Ruth HarrisonAirline Retail Conference - Social Media and Luxury - Ruth Harrison
Airline Retail Conference - Social Media and Luxury - Ruth Harrison
 
20 inspiring statement on viral comms
20 inspiring statement on viral comms20 inspiring statement on viral comms
20 inspiring statement on viral comms
 
Story and Strategy Clients
Story and Strategy ClientsStory and Strategy Clients
Story and Strategy Clients
 
Data Canter Solution- PL-1000TE 16G FC, 8 mulitrated transponders
Data Canter Solution- PL-1000TE 16G FC, 8 mulitrated transponders  Data Canter Solution- PL-1000TE 16G FC, 8 mulitrated transponders
Data Canter Solution- PL-1000TE 16G FC, 8 mulitrated transponders
 

Similar to Arev05c icfca05lessonslearned

Similar to Arev05c icfca05lessonslearned (20)

Object class recognition by unsupervide scale invariant learning - kunal
Object class recognition by unsupervide scale invariant learning - kunalObject class recognition by unsupervide scale invariant learning - kunal
Object class recognition by unsupervide scale invariant learning - kunal
 
An Importance Sampling Approach to Integrate Expert Knowledge When Learning B...
An Importance Sampling Approach to Integrate Expert Knowledge When Learning B...An Importance Sampling Approach to Integrate Expert Knowledge When Learning B...
An Importance Sampling Approach to Integrate Expert Knowledge When Learning B...
 
Neural Learning to Rank
Neural Learning to RankNeural Learning to Rank
Neural Learning to Rank
 
Planning Evacuation Routes with the P-graph Framework
Planning Evacuation Routes with the P-graph FrameworkPlanning Evacuation Routes with the P-graph Framework
Planning Evacuation Routes with the P-graph Framework
 
Oopsla04.ppt
Oopsla04.pptOopsla04.ppt
Oopsla04.ppt
 
be5b99cpl-lec11-slides.pdf
be5b99cpl-lec11-slides.pdfbe5b99cpl-lec11-slides.pdf
be5b99cpl-lec11-slides.pdf
 
User Interfaces that Design Themselves: Talk given at Data-Driven Design Day ...
User Interfaces that Design Themselves: Talk given at Data-Driven Design Day ...User Interfaces that Design Themselves: Talk given at Data-Driven Design Day ...
User Interfaces that Design Themselves: Talk given at Data-Driven Design Day ...
 
Next directions in Mahout's recommenders
Next directions in Mahout's recommendersNext directions in Mahout's recommenders
Next directions in Mahout's recommenders
 
Toward a Recommendation System for focusing Testing
Toward a Recommendation System for focusing TestingToward a Recommendation System for focusing Testing
Toward a Recommendation System for focusing Testing
 
PointNet
PointNetPointNet
PointNet
 
Statistical Modeling: The Two Cultures
Statistical Modeling: The Two CulturesStatistical Modeling: The Two Cultures
Statistical Modeling: The Two Cultures
 
Reconciling Event-Based Knowledge through RDF2VEC
Reconciling Event-Based Knowledge through RDF2VECReconciling Event-Based Knowledge through RDF2VEC
Reconciling Event-Based Knowledge through RDF2VEC
 
Cascon04.ppt
Cascon04.pptCascon04.ppt
Cascon04.ppt
 
CASCON04.ppt
CASCON04.pptCASCON04.ppt
CASCON04.ppt
 
Attentive Relational Networks for Mapping Images to Scene Graphs
Attentive Relational Networks for Mapping Images to Scene GraphsAttentive Relational Networks for Mapping Images to Scene Graphs
Attentive Relational Networks for Mapping Images to Scene Graphs
 
HalifaxNGGs
HalifaxNGGsHalifaxNGGs
HalifaxNGGs
 
Programming Actor-based Collective Adaptive Systems
Programming Actor-based Collective Adaptive SystemsProgramming Actor-based Collective Adaptive Systems
Programming Actor-based Collective Adaptive Systems
 
Machine learning applications in aerospace domain
Machine learning applications in aerospace domainMachine learning applications in aerospace domain
Machine learning applications in aerospace domain
 
Optimization problems and algorithms
Optimization problems and  algorithmsOptimization problems and  algorithms
Optimization problems and algorithms
 
CLIM: Transition Workshop - Statistical Emulation with Dimension Reduction fo...
CLIM: Transition Workshop - Statistical Emulation with Dimension Reduction fo...CLIM: Transition Workshop - Statistical Emulation with Dimension Reduction fo...
CLIM: Transition Workshop - Statistical Emulation with Dimension Reduction fo...
 

Recently uploaded

Recently uploaded (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 

Arev05c icfca05lessonslearned

  • 1. Lessons Learned in Applying Formal Concept Analysis to Reverse Engineering P P Abstract Z Z C D B B C D Gabriela B. Arévalo, Stéphane Ducasse, Oscar Nierstrasz Software Composition Group University of Bern, Switzerland http://www.iam.unibe.ch/~scg
  • 2. Roadmap Motivation: Dependencies in Software Systems High-Level Views based on FCA Our Methodology and Issues to apply it High-Level Views and Issues Lessons Learned and Conclusions University of Bern Gabriela B. Arévalo 2/19
  • 3. Maintenance of Software Systems Software System: Laws of Continuing Change and Increasing Complexity Maintenance of software systems 50% to 75 % of the total cost 50% - 75 % Reading and Analysis of Software: ½ time of maintenance phase 50% We need to detect Implicit Contracts between software components in a system University of Bern Gabriela B. Arévalo 3/19
  • 4. Dependencies in Object Oriented Systems Software System seen as a puzzle Polymorphism Delegation Dynamic Binding Reuse Data Encapsulation Inheritance Dependency is the glue between the objects Appear several times Do not appear isolated Can appear at different abstraction levels University of Bern Gabriela B. Arévalo 4/19
  • 5. High-Level Views based on Formal Concept Analysis (FCA) Object Oriented Systems P Formal Concept Analysis as a base tool High Level Views P Abstract Z Z C D B C B D University of Bern Gabriela B. Arévalo 5/19
  • 6. Our Methodology Magnitude < = < High Level Views Interpretation Analysis = = = Meaningful Concepts Post-Filtering Concept Lattice ConAn Engine Magnitude isAbstract Modelling <self send = ….. > Elements and Properties FCA Mapping Magnitude Integer Source code model Inheritance Model Import Source Code University of Bern Gabriela B. Arévalo 6/19
  • 7. High Level Views Abstract Z XRay Views: Class Level Abstract Z Hierarchy Schemas: Class Hierarchy Level B C P Collaboration Patterns: Application Level Abstract Z B C D University of Bern Gabriela B. Arévalo 7/19
  • 8. Elements and Properties FCA Mapping Source code model Choice of Elements Compact Representation of Data Choice of Properties Use of Negative Properties Single or Multiple Contexts Computation of Properties and Elements University of Bern Gabriela B. Arévalo 8/19
  • 9. Concept Lattice ConAn Engine Elements and Properties Performance of Ganter algorithm Performance of Lattice Building Algorithm Unnecessary properties Meaningful Concepts Post-Filtering Concept Lattice Removal of Top and Bottom Concepts Removal of Meaningless Concepts University of Bern Gabriela B. Arévalo 9/19
  • 10. High Level Views Analysis Meaningful concepts Concept Interpretation based on Elements and Properties Equivalent Concepts Automated Concept Interpretation Use of Partial Order in the Lattice Limit of using FCA as a grouping technique University of Bern Gabriela B. Arévalo 10/19
  • 11. Abstract Z XRay Views on Classes Properties: Access to instance variables a b m1() Elements: methods uses x x m2() x c d x Top e x x m3() x m4() x m5() x m6() x (m1,m3,m6), (d) (m1,m2), (a,b) x (m1), (a,b,d) Bottom x Class A “XRay Views” is a set of collaborations to show patterns based on state and behavior a, b, c, d, e m1() { .. a .. b .. d } m2() { .. a .. b .. e } University of Bern Gabriela B. Arévalo 11/19
  • 12. Issues on X-Ray Views Compact Representation of Data m {… self n; self n } Multiple FCA Contexts: Use of State and Behavior Unnecessary Properties: isAbstract, isStateless, isInterface Meaningless Concepts Methods: {m,n,p,q} Concept: {m} {n,p,q} University of Bern Gabriela B. Arévalo 12/19
  • 13. Schemas on Class Hierarchies Type of calls – Definer Class invocations self m1 super local x x m3 x x descendant A x m2 m4 ancestor x x Analysis of Class Hierarchies based on state and behavior of a class to identify common, bad smell and irregularity design decisions x m3 { .... } x x m2 {<abstract>} x m4 {<abstract>} C B m1 { ... } m2 { ... } ... { self m1 } ... { super m3 } University of Bern Gabriela B. Arévalo m1 { ... } m4 { ... } ... { self m1 } ... { self m4 } ... { super m3 } 13/19
  • 14. Issues on Schemas Single Context Compact Representation of Data: Class C m { ..... self p ....} n { ... self p ... } Use of negative Properties: no-local, no-ancestor, no-descendant Meaningless Concepts: Concept: { m, n, p, q } { local } Concept: { b, c , d } { no-ancestor } University of Bern Gabriela B. Arévalo 14/19
  • 15. Collaboration Patterns on Object-Oriented Applications Properties: Relationships between classes Tuples of classes Elements: (1,2)Sub (3,2)Sub (C,A,P) x x (C,A,B) x x (Z,X,P) x (Z,X,Y) x (3,2)Acc x 2 A x x x x C P x 1 3 x (3,2) Subclass 3 (2)Abs x x (1,2) Subclass 2 1 (1,2)Acc (2) Abstract A = C X P , Z (3,2) Accesses University of Bern Gabriela B. Arévalo 15/19 Y
  • 16. Issues on Collaboration Patterns Choice of Elements and Properties: (C A P) (1,2)subclass (1,3)access Compact Representation of Data: (C A P) (P C A) (P C A) Meaningless Concepts: (C A B) (Z X P) (1,2)subclass (2,1)access Mapping Partial Order of the Lattice: Subconcept Concept A B Superconcept A C Overloaded Pattern B X C University of Bern Gabriela B. Arévalo Y A Z B Almost Pattern 16/19 C
  • 17. FCA is a useful technique in Reverse Engineering … Lack of a general methodology Modelling software entities as FCA components Performance of FCA algorithms Supporting Software Engineers Interpretation of the Concepts Use of the Complete Lattice Use of the Partial Order University of Bern Gabriela B. Arévalo 17/19
  • 18. A successful application of FCA …. High-level Views: XRay Views, Hierarchy Schemas, Collaboration Patterns Development of a methodology Tool support of the Methodology: ConAn Analysis of advantages and constraints Interpretation without any mathematical knowlege University of Bern Gabriela B. Arévalo 18/19
  • 19. Thank you !! Abstract Z Abstract Z P Z B C C D B P Abstract Z B C D Questions ? University of Bern Gabriela B. Arévalo 19/19

Editor's Notes

  1. After the title, I should say what the work is about Atencion !! I work with Oscar and Stef