SlideShare a Scribd company logo
1 of 16
Download to read offline
Utilization of Method Graphs to Measure
Cohesion in Object Oriented Software
Atakan Aral, Tolga Ovatman
Istanbul Technical Universtiy
Faculty of Computer and Informatics
Outline
• Introduction
• Motivation
• Contribution
• Method Graphs
• Clustering & Similarity Measurement
• Results & Discussion
• Conclusion
• Future Work
Introduction
• Cohesion is the harmony of software
components in performing responsibilities
• Hard to measure quantitatively
• Cohesion of a class is usually measured by
examining common data usage of its methods
Motivation
• Conventional techniques analyze object
code and require compilation
• Hard to detect data usage from source code
– Indirect ways to access a variable
• Prevents evaluating incomplete code
• Our aim is to derive a pure source code based
cohesion measure
Contribution
Source Code
Parsing
•Abstract Syntax
tree based Java
Parser
Graph
Extraction
•Java Universal
Network/Graph
Graph
Clustering
•Weak Component
Clustering
Similarity
Measurement
•Adjusted Rand
Index
Correlation
Analysis
•Pearson
Correlation
• A cohesion measure that
– depends purely on static analysis
– considers only method-to-method relations
– is graph based and software-wide
– is highly correlated to LCOM metric
Method Graphs
• Cooperating Methods (CM) relation
– involves method couples that are called
together from another host method.
Class A{
MA1(){
MA2();
B.MB();
}
MA2(){
B.MB();
MA3();
MA4();
}
MA3(){}
MA4(){}
}
MB
MA1MA2
MA3
MA4
Method Graphs
• Method Call (MC) relation
– involves method couples that call one another.
Class A{
MA1(){
MA2();
B.MB();
}
MA2(){}
MA3(){
MA4();
}
MA4(){
MA1();
}
}
MB
MA1MA2
MA3
MA4
Method Graphs
• Method Layout (ML) relation
– involves method couples that are in the same
class.
Class A{
MA1(){}
MA2(){}
MA3(){}
MA4(){}
}
Class B{
MB1(){}
MB2(){}
}
MA1
MA1MA2
MB1
MA4
MB2
Method Graphs
• Internal Call (IC) relation
– involves method couples that call one another
and are in the same class.
Class A{
MA1(){
MA2();
B.MB();
}
MA2(){}
MA3(){
MA4();
}
MA4(){
MA1();
}
}
MB
MA1MA2
MA3
MA4
Clustering & Similarity
• 4 graphs are clustered using Weak
Component Clustering
• 6 clustering couples are compared using
adjusted Rand index
– CM—MC: Are the methods calling each
other, also called together from another body?
– IC—ML: What is the level of fragmentation
within classes?
Results & Discussion
• 14 most popular open-source Java projects
from GitHub and SourceForge
Results & Discussion
Results & Discussion
• Calling two methods, that call each other,
from the body of another method,
decreases the overall cohesion of software
Conclusion
• We suggest a novel technique that allows
to measure software-wide cohesion.
• It uses static source code analysis.
• Results indicate that its correlation to
LCOM HS is 77%.
Future Work
• to adapt our measure to class level
• to use direction—weight data to improve
accuracy
• to build a mathematical basis for the
relation between our measure and the
LCOM metric
• to study on the other correlated groups
Thank you!

More Related Content

Viewers also liked

Introduction to Social Media Marketing and Social Media Strategy
Introduction to Social Media Marketing and Social Media StrategyIntroduction to Social Media Marketing and Social Media Strategy
Introduction to Social Media Marketing and Social Media StrategyAlbert Qian
 
How to Triple Your Job Offers
How to Triple Your Job OffersHow to Triple Your Job Offers
How to Triple Your Job OffersAlbert Qian
 
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...AtakanAral
 
Analysis of Algorithms II - PS2
Analysis of Algorithms II - PS2Analysis of Algorithms II - PS2
Analysis of Algorithms II - PS2AtakanAral
 
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...AtakanAral
 
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...AtakanAral
 
Analysis of Algorithms II - PS5
Analysis of Algorithms II - PS5Analysis of Algorithms II - PS5
Analysis of Algorithms II - PS5AtakanAral
 
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...AtakanAral
 
50777360 basic-manual-workshop-repair-manuals-325-and-337
50777360 basic-manual-workshop-repair-manuals-325-and-33750777360 basic-manual-workshop-repair-manuals-325-and-337
50777360 basic-manual-workshop-repair-manuals-325-and-337Walter Mazibuko
 
[1]관계chap 9
[1]관계chap 9[1]관계chap 9
[1]관계chap 9현식 조
 

Viewers also liked (11)

Introduction to Social Media Marketing and Social Media Strategy
Introduction to Social Media Marketing and Social Media StrategyIntroduction to Social Media Marketing and Social Media Strategy
Introduction to Social Media Marketing and Social Media Strategy
 
Propuesta de campaña política
Propuesta de campaña políticaPropuesta de campaña política
Propuesta de campaña política
 
How to Triple Your Job Offers
How to Triple Your Job OffersHow to Triple Your Job Offers
How to Triple Your Job Offers
 
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...
 
Analysis of Algorithms II - PS2
Analysis of Algorithms II - PS2Analysis of Algorithms II - PS2
Analysis of Algorithms II - PS2
 
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...
 
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...
 
Analysis of Algorithms II - PS5
Analysis of Algorithms II - PS5Analysis of Algorithms II - PS5
Analysis of Algorithms II - PS5
 
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Progres...
 
50777360 basic-manual-workshop-repair-manuals-325-and-337
50777360 basic-manual-workshop-repair-manuals-325-and-33750777360 basic-manual-workshop-repair-manuals-325-and-337
50777360 basic-manual-workshop-repair-manuals-325-and-337
 
[1]관계chap 9
[1]관계chap 9[1]관계chap 9
[1]관계chap 9
 

More from AtakanAral

Subgraph Matching for Resource Allocation in the Federated Cloud Environment
Subgraph Matching for Resource Allocation in the Federated Cloud EnvironmentSubgraph Matching for Resource Allocation in the Federated Cloud Environment
Subgraph Matching for Resource Allocation in the Federated Cloud EnvironmentAtakanAral
 
Quality of Service Channelling for Latency Sensitive Edge Applications
Quality of Service Channelling for Latency Sensitive Edge ApplicationsQuality of Service Channelling for Latency Sensitive Edge Applications
Quality of Service Channelling for Latency Sensitive Edge ApplicationsAtakanAral
 
Resource Mapping Optimization for Distributed Cloud Services - PhD Thesis Def...
Resource Mapping Optimization for Distributed Cloud Services - PhD Thesis Def...Resource Mapping Optimization for Distributed Cloud Services - PhD Thesis Def...
Resource Mapping Optimization for Distributed Cloud Services - PhD Thesis Def...AtakanAral
 
Software Engineering - RS2
Software Engineering - RS2Software Engineering - RS2
Software Engineering - RS2AtakanAral
 
Software Engineering - RS1
Software Engineering - RS1Software Engineering - RS1
Software Engineering - RS1AtakanAral
 
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Proposal]
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Proposal]Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Proposal]
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Proposal]AtakanAral
 
Improving Resource Utilization in Cloud using Application Placement Heuristics
Improving Resource Utilization in Cloud using Application Placement HeuristicsImproving Resource Utilization in Cloud using Application Placement Heuristics
Improving Resource Utilization in Cloud using Application Placement HeuristicsAtakanAral
 
Analysis of Algorithms - 3
Analysis of Algorithms - 3Analysis of Algorithms - 3
Analysis of Algorithms - 3AtakanAral
 
Analysis of Algorithms - 2
Analysis of Algorithms - 2Analysis of Algorithms - 2
Analysis of Algorithms - 2AtakanAral
 

More from AtakanAral (9)

Subgraph Matching for Resource Allocation in the Federated Cloud Environment
Subgraph Matching for Resource Allocation in the Federated Cloud EnvironmentSubgraph Matching for Resource Allocation in the Federated Cloud Environment
Subgraph Matching for Resource Allocation in the Federated Cloud Environment
 
Quality of Service Channelling for Latency Sensitive Edge Applications
Quality of Service Channelling for Latency Sensitive Edge ApplicationsQuality of Service Channelling for Latency Sensitive Edge Applications
Quality of Service Channelling for Latency Sensitive Edge Applications
 
Resource Mapping Optimization for Distributed Cloud Services - PhD Thesis Def...
Resource Mapping Optimization for Distributed Cloud Services - PhD Thesis Def...Resource Mapping Optimization for Distributed Cloud Services - PhD Thesis Def...
Resource Mapping Optimization for Distributed Cloud Services - PhD Thesis Def...
 
Software Engineering - RS2
Software Engineering - RS2Software Engineering - RS2
Software Engineering - RS2
 
Software Engineering - RS1
Software Engineering - RS1Software Engineering - RS1
Software Engineering - RS1
 
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Proposal]
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Proposal]Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Proposal]
Modeling and Optimization of Resource Allocation in Cloud [PhD Thesis Proposal]
 
Improving Resource Utilization in Cloud using Application Placement Heuristics
Improving Resource Utilization in Cloud using Application Placement HeuristicsImproving Resource Utilization in Cloud using Application Placement Heuristics
Improving Resource Utilization in Cloud using Application Placement Heuristics
 
Analysis of Algorithms - 3
Analysis of Algorithms - 3Analysis of Algorithms - 3
Analysis of Algorithms - 3
 
Analysis of Algorithms - 2
Analysis of Algorithms - 2Analysis of Algorithms - 2
Analysis of Algorithms - 2
 

Recently uploaded

VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfayushiqss
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 

Recently uploaded (20)

Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 

Utilization of Method Graphs to Measure Cohesion in Object Oriented Software

  • 1. Utilization of Method Graphs to Measure Cohesion in Object Oriented Software Atakan Aral, Tolga Ovatman Istanbul Technical Universtiy Faculty of Computer and Informatics
  • 2. Outline • Introduction • Motivation • Contribution • Method Graphs • Clustering & Similarity Measurement • Results & Discussion • Conclusion • Future Work
  • 3. Introduction • Cohesion is the harmony of software components in performing responsibilities • Hard to measure quantitatively • Cohesion of a class is usually measured by examining common data usage of its methods
  • 4. Motivation • Conventional techniques analyze object code and require compilation • Hard to detect data usage from source code – Indirect ways to access a variable • Prevents evaluating incomplete code • Our aim is to derive a pure source code based cohesion measure
  • 5. Contribution Source Code Parsing •Abstract Syntax tree based Java Parser Graph Extraction •Java Universal Network/Graph Graph Clustering •Weak Component Clustering Similarity Measurement •Adjusted Rand Index Correlation Analysis •Pearson Correlation • A cohesion measure that – depends purely on static analysis – considers only method-to-method relations – is graph based and software-wide – is highly correlated to LCOM metric
  • 6. Method Graphs • Cooperating Methods (CM) relation – involves method couples that are called together from another host method. Class A{ MA1(){ MA2(); B.MB(); } MA2(){ B.MB(); MA3(); MA4(); } MA3(){} MA4(){} } MB MA1MA2 MA3 MA4
  • 7. Method Graphs • Method Call (MC) relation – involves method couples that call one another. Class A{ MA1(){ MA2(); B.MB(); } MA2(){} MA3(){ MA4(); } MA4(){ MA1(); } } MB MA1MA2 MA3 MA4
  • 8. Method Graphs • Method Layout (ML) relation – involves method couples that are in the same class. Class A{ MA1(){} MA2(){} MA3(){} MA4(){} } Class B{ MB1(){} MB2(){} } MA1 MA1MA2 MB1 MA4 MB2
  • 9. Method Graphs • Internal Call (IC) relation – involves method couples that call one another and are in the same class. Class A{ MA1(){ MA2(); B.MB(); } MA2(){} MA3(){ MA4(); } MA4(){ MA1(); } } MB MA1MA2 MA3 MA4
  • 10. Clustering & Similarity • 4 graphs are clustered using Weak Component Clustering • 6 clustering couples are compared using adjusted Rand index – CM—MC: Are the methods calling each other, also called together from another body? – IC—ML: What is the level of fragmentation within classes?
  • 11. Results & Discussion • 14 most popular open-source Java projects from GitHub and SourceForge
  • 13. Results & Discussion • Calling two methods, that call each other, from the body of another method, decreases the overall cohesion of software
  • 14. Conclusion • We suggest a novel technique that allows to measure software-wide cohesion. • It uses static source code analysis. • Results indicate that its correlation to LCOM HS is 77%.
  • 15. Future Work • to adapt our measure to class level • to use direction—weight data to improve accuracy • to build a mathematical basis for the relation between our measure and the LCOM metric • to study on the other correlated groups

Editor's Notes

  1. QualitativelyOrdinal scalesDetailed literaturereview
  2. Reusability, maintainability and understandabilityVery useful during developmentAn indicator of conventional cohesion metrics
  3. When we cluster this graph…
  4. Intersection of last 2 relations
  5. it can be easilyandrapidlyextracted