SlideShare a Scribd company logo
Extract Package
Refactoring in ARIES
Fabio Palomba*, Michele Tufano❊
, Gabriele Bavota#,
Rocco Oliveto✢
,Andrian Marcus†, Denys Poshyvanyk❊
,Andrea De Lucia*
* University of Salerno
❊
The College of William and Mary
# Free University of Bozen-Bolzano
✢
University of Molise
† University ofTexas
Cohesion
Coupling
SOFTWARE QUALITY DESIGN
DECREASES OVERTIME
How to solve the problem?
Big Bang Software re-modularization
A complete re-organization of the system’s classes into packages
“Big- Bang” re-modularization is not a viable
solution since even for modest systems, the
number of changes required to apply it is in the
order of thousands of lines of code”
M. Hall, M. Khojaye, N.Walkinshaw, and P. McMinn
“Establishing the source code disruption caused by automated remodularization tools”
ICSME 2014
How to solve the problem?
Thus, re-modularization efforts need to be localized,
and aimed at solving specific design issues.
G. Bavota,A. De Lucia,A. Marcus, R. Oliveto
“Using Structural and Semantic Measures to Improve Software Modularization”
EMSE
A Graph-theory based Approach for Extract
Package Refactoring
A Graph-theory based Approach for Extract
Package Refactoring
n classes
Package P
A Graph-theory based Approach for Extract
Package Refactoring
class-by-class
matrix construction
c2
.
.
.
.
.
.
.
.

cn
c1
n classes
Package P
c1 c2 ........ Cn
A Graph-theory based Approach for Extract
Package Refactoring
class-by-class
matrix construction
c2
.
.
.
.
.
.
.
.

cn
CCBC ICP
Conceptual Coupling
Between Classes
Information flow-based
Coupling
c1
n classes
Package P
c1 c2 ........ Cn
A Graph-theory based Approach for Extract
Package Refactoring
class-by-class
matrix construction
c2
.
.
.
.
.
.
.
.

cn
CCBC ICP
Conceptual Coupling
Between Classes
Information flow-based
Coupling
ci,j = wCCBC ·CCBC + wICP · ICP
c1
n classes
Package P
c1 c2 ........ Cn
A Graph-theory based Approach for Extract
Package Refactoring
c2
.
.
.
.
.
.
.
.

cn
c1
c1 c2 ........ Cn
class-by-class matrix
filtering and transitive clousure
0.8
0.70.5
0.7
0.6
Chain 1
Chain 2Chain 3
A Graph-theory based Approach for Extract
Package Refactoring
c2
.
.
.
.
.
.
.
.

cn
c1
c1 c2 ........ Cn
class-by-class matrix
filtering and transitive clousure
0.8
0.70.5
0.7
0.6
Chain 1
Chain 2Chain 3
A Graph-theory based Approach for Extract
Package Refactoring
c2
.
.
.
.
.
.
.
.

cn
c1
c1 c2 ........ Cn
class-by-class matrix
filtering and transitive clousure
0.8
0.70.5
0.7
0.6
Chain 1
Chain 2Chain 3
0.8
0.70.5
0.7
0.6
Chain 1
Chain 2Chain 3
merging trivial
chains
Chain 1
Candidate Package 1
Chain 2

Chain 3
Candidate Package 2
An Eclipse Plugin to Automate
Refactoring Operations
Extract Package
Refactoring in ARIES
Fabio Palomba
University of Salerno
fpalomba@unisa.it
dibt.unimol.it/fpalomba
MicheleTufano
The College of William and Mary
mtufano@email.wm.edu
www.cs.wm.edu/~mtufano/
Q&A
Thank you!

More Related Content

Viewers also liked

Shikha ppt
Shikha pptShikha ppt
Shikha ppt
md_ariz87
 
Sose2015 presentation
Sose2015 presentation Sose2015 presentation
Sose2015 presentation
Marigianna Skouradaki
 
ESPN Covers Rafael Nadal’s Next French Open Run
ESPN Covers Rafael Nadal’s Next French Open Run ESPN Covers Rafael Nadal’s Next French Open Run
ESPN Covers Rafael Nadal’s Next French Open Run
Jed Drake
 
Business Transformation is (not) rocket science
Business Transformation is (not) rocket scienceBusiness Transformation is (not) rocket science
Business Transformation is (not) rocket science
triangility
 
Visual Resume
Visual ResumeVisual Resume
Visual Resumemgschw2
 
Composition Library Instruction
Composition Library InstructionComposition Library Instruction
Composition Library Instructionlmwallis
 
Boise is the Best Base Camp in America
Boise is the Best Base Camp in AmericaBoise is the Best Base Camp in America
Boise is the Best Base Camp in America
Steve Stuebner
 
Dual tobacco use bob anderson
Dual tobacco use   bob andersonDual tobacco use   bob anderson
Dual tobacco use bob andersondrrcpawv1
 
Legislation timeline
Legislation timelineLegislation timeline
Legislation timelineKiera Brown
 
What are Multifunction Installation Testers
What are Multifunction Installation TestersWhat are Multifunction Installation Testers
What are Multifunction Installation Testers
carltrom
 
Presentation to Education Interim Commitee
Presentation to Education Interim Commitee  Presentation to Education Interim Commitee
Presentation to Education Interim Commitee emilynicoline
 
Mm3 project ppt group 1_section a
Mm3 project ppt group 1_section aMm3 project ppt group 1_section a
Mm3 project ppt group 1_section a
Abhijeet Dash
 
Class Action Lawsuits Explained
Class Action Lawsuits ExplainedClass Action Lawsuits Explained
Class Action Lawsuits Explained
John Poulos (Sacramento)
 
Biologi (ekosistem)
Biologi (ekosistem)Biologi (ekosistem)
Biologi (ekosistem)tikha12
 
Quote spreekt over Berkeley International Nederland
Quote spreekt over Berkeley International NederlandQuote spreekt over Berkeley International Nederland
Quote spreekt over Berkeley International NederlandBerkeley International
 
ประวัติส่วนตัว
ประวัติส่วนตัวประวัติส่วนตัว
ประวัติส่วนตัวWanatep Kongka
 
Codes and convection's of a web page
Codes and convection's of a web pageCodes and convection's of a web page
Codes and convection's of a web pageEllen Whight
 
Creacion de organigramas
Creacion de organigramasCreacion de organigramas
Creacion de organigramasinelca
 
ローカルリポジトリのススメ
ローカルリポジトリのススメローカルリポジトリのススメ
ローカルリポジトリのススメ
TAKEMURA Takayuki
 

Viewers also liked (20)

Shikha ppt
Shikha pptShikha ppt
Shikha ppt
 
Sose2015 presentation
Sose2015 presentation Sose2015 presentation
Sose2015 presentation
 
ESPN Covers Rafael Nadal’s Next French Open Run
ESPN Covers Rafael Nadal’s Next French Open Run ESPN Covers Rafael Nadal’s Next French Open Run
ESPN Covers Rafael Nadal’s Next French Open Run
 
Business Transformation is (not) rocket science
Business Transformation is (not) rocket scienceBusiness Transformation is (not) rocket science
Business Transformation is (not) rocket science
 
Visual Resume
Visual ResumeVisual Resume
Visual Resume
 
Composition Library Instruction
Composition Library InstructionComposition Library Instruction
Composition Library Instruction
 
Boise is the Best Base Camp in America
Boise is the Best Base Camp in AmericaBoise is the Best Base Camp in America
Boise is the Best Base Camp in America
 
Dual tobacco use bob anderson
Dual tobacco use   bob andersonDual tobacco use   bob anderson
Dual tobacco use bob anderson
 
Legislation timeline
Legislation timelineLegislation timeline
Legislation timeline
 
What are Multifunction Installation Testers
What are Multifunction Installation TestersWhat are Multifunction Installation Testers
What are Multifunction Installation Testers
 
Presentation to Education Interim Commitee
Presentation to Education Interim Commitee  Presentation to Education Interim Commitee
Presentation to Education Interim Commitee
 
Mm3 project ppt group 1_section a
Mm3 project ppt group 1_section aMm3 project ppt group 1_section a
Mm3 project ppt group 1_section a
 
Class Action Lawsuits Explained
Class Action Lawsuits ExplainedClass Action Lawsuits Explained
Class Action Lawsuits Explained
 
Biologi (ekosistem)
Biologi (ekosistem)Biologi (ekosistem)
Biologi (ekosistem)
 
Daftar isi
Daftar isiDaftar isi
Daftar isi
 
Quote spreekt over Berkeley International Nederland
Quote spreekt over Berkeley International NederlandQuote spreekt over Berkeley International Nederland
Quote spreekt over Berkeley International Nederland
 
ประวัติส่วนตัว
ประวัติส่วนตัวประวัติส่วนตัว
ประวัติส่วนตัว
 
Codes and convection's of a web page
Codes and convection's of a web pageCodes and convection's of a web page
Codes and convection's of a web page
 
Creacion de organigramas
Creacion de organigramasCreacion de organigramas
Creacion de organigramas
 
ローカルリポジトリのススメ
ローカルリポジトリのススメローカルリポジトリのススメ
ローカルリポジトリのススメ
 

Similar to Extract Package Refactoring in ARIES

Convolutional Neural Networks - Xavier Giro - UPC TelecomBCN Barcelona 2020
Convolutional Neural Networks - Xavier Giro - UPC TelecomBCN Barcelona 2020Convolutional Neural Networks - Xavier Giro - UPC TelecomBCN Barcelona 2020
Convolutional Neural Networks - Xavier Giro - UPC TelecomBCN Barcelona 2020
Universitat Politècnica de Catalunya
 
CNNs: from the Basics to Recent Advances
CNNs: from the Basics to Recent AdvancesCNNs: from the Basics to Recent Advances
CNNs: from the Basics to Recent Advances
Dmytro Mishkin
 
PointNet
PointNetPointNet
Cross-Project Build Co-change Prediction
Cross-Project Build Co-change PredictionCross-Project Build Co-change Prediction
Cross-Project Build Co-change Prediction
Shane McIntosh
 
Ijcai01 mspc.ppt
Ijcai01 mspc.pptIjcai01 mspc.ppt
Ijcai01 mspc.ppt
Yann-Gaël Guéhéneuc
 
NTCIR-15 www-3 kasys poster
NTCIR-15 www-3 kasys posterNTCIR-15 www-3 kasys poster
NTCIR-15 www-3 kasys poster
AtsukiMaruta
 
IJCAI01 MSPC.ppt
IJCAI01 MSPC.pptIJCAI01 MSPC.ppt
IJCAI01 MSPC.pptPtidej Team
 
Unit 5 Quantization
Unit 5 QuantizationUnit 5 Quantization
Unit 5 Quantization
Dr Piyush Charan
 
Saptashwa_Mitra_Sitakanta_Mishra_Final_Project_Report
Saptashwa_Mitra_Sitakanta_Mishra_Final_Project_ReportSaptashwa_Mitra_Sitakanta_Mishra_Final_Project_Report
Saptashwa_Mitra_Sitakanta_Mishra_Final_Project_ReportSitakanta Mishra
 
EDU 508 Course Title: 21 Things Every 21st Century Educator Should ...
EDU 508 Course Title: 21 Things Every  21st Century Educator Should ...EDU 508 Course Title: 21 Things Every  21st Century Educator Should ...
EDU 508 Course Title: 21 Things Every 21st Century Educator Should ...butest
 
Transformer based approaches for visual representation learning
Transformer based approaches for visual representation learningTransformer based approaches for visual representation learning
Transformer based approaches for visual representation learning
Ryohei Suzuki
 
Presentation vision transformersppt.pptx
Presentation vision transformersppt.pptxPresentation vision transformersppt.pptx
Presentation vision transformersppt.pptx
htn540
 
Eeee2017 Conference - OR in the digital era - ICT challenges | Presentation
Eeee2017 Conference - OR in the digital era - ICT challenges | PresentationEeee2017 Conference - OR in the digital era - ICT challenges | Presentation
Eeee2017 Conference - OR in the digital era - ICT challenges | Presentation
Christos Papalitsas
 
ML-GCN
ML-GCNML-GCN
ML-GCN
Wonbeom Jang
 
Quantum Gaussian Processes - Gawel Kus
Quantum Gaussian Processes - Gawel KusQuantum Gaussian Processes - Gawel Kus
Quantum Gaussian Processes - Gawel Kus
Advanced-Concepts-Team
 
The Advancement and Challenges in Computational Physics - Phdassistance
The Advancement and Challenges in Computational Physics - PhdassistanceThe Advancement and Challenges in Computational Physics - Phdassistance
The Advancement and Challenges in Computational Physics - Phdassistance
PhD Assistance
 
教師なし画像特徴表現学習の動向 {Un, Self} supervised representation learning (CVPR 2018 完全読破...
教師なし画像特徴表現学習の動向 {Un, Self} supervised representation learning (CVPR 2018 完全読破...教師なし画像特徴表現学習の動向 {Un, Self} supervised representation learning (CVPR 2018 完全読破...
教師なし画像特徴表現学習の動向 {Un, Self} supervised representation learning (CVPR 2018 完全読破...
cvpaper. challenge
 

Similar to Extract Package Refactoring in ARIES (20)

Convolutional Neural Networks - Xavier Giro - UPC TelecomBCN Barcelona 2020
Convolutional Neural Networks - Xavier Giro - UPC TelecomBCN Barcelona 2020Convolutional Neural Networks - Xavier Giro - UPC TelecomBCN Barcelona 2020
Convolutional Neural Networks - Xavier Giro - UPC TelecomBCN Barcelona 2020
 
Masters_Thesis_FINAL_COPY
Masters_Thesis_FINAL_COPYMasters_Thesis_FINAL_COPY
Masters_Thesis_FINAL_COPY
 
CNNs: from the Basics to Recent Advances
CNNs: from the Basics to Recent AdvancesCNNs: from the Basics to Recent Advances
CNNs: from the Basics to Recent Advances
 
main
mainmain
main
 
PointNet
PointNetPointNet
PointNet
 
Cross-Project Build Co-change Prediction
Cross-Project Build Co-change PredictionCross-Project Build Co-change Prediction
Cross-Project Build Co-change Prediction
 
Ijcai01 mspc.ppt
Ijcai01 mspc.pptIjcai01 mspc.ppt
Ijcai01 mspc.ppt
 
NTCIR-15 www-3 kasys poster
NTCIR-15 www-3 kasys posterNTCIR-15 www-3 kasys poster
NTCIR-15 www-3 kasys poster
 
IJCAI01 MSPC.ppt
IJCAI01 MSPC.pptIJCAI01 MSPC.ppt
IJCAI01 MSPC.ppt
 
Unit 5 Quantization
Unit 5 QuantizationUnit 5 Quantization
Unit 5 Quantization
 
Saptashwa_Mitra_Sitakanta_Mishra_Final_Project_Report
Saptashwa_Mitra_Sitakanta_Mishra_Final_Project_ReportSaptashwa_Mitra_Sitakanta_Mishra_Final_Project_Report
Saptashwa_Mitra_Sitakanta_Mishra_Final_Project_Report
 
EDU 508 Course Title: 21 Things Every 21st Century Educator Should ...
EDU 508 Course Title: 21 Things Every  21st Century Educator Should ...EDU 508 Course Title: 21 Things Every  21st Century Educator Should ...
EDU 508 Course Title: 21 Things Every 21st Century Educator Should ...
 
Transformer based approaches for visual representation learning
Transformer based approaches for visual representation learningTransformer based approaches for visual representation learning
Transformer based approaches for visual representation learning
 
Presentation vision transformersppt.pptx
Presentation vision transformersppt.pptxPresentation vision transformersppt.pptx
Presentation vision transformersppt.pptx
 
Eeee2017 Conference - OR in the digital era - ICT challenges | Presentation
Eeee2017 Conference - OR in the digital era - ICT challenges | PresentationEeee2017 Conference - OR in the digital era - ICT challenges | Presentation
Eeee2017 Conference - OR in the digital era - ICT challenges | Presentation
 
poster_silhouette
poster_silhouetteposter_silhouette
poster_silhouette
 
ML-GCN
ML-GCNML-GCN
ML-GCN
 
Quantum Gaussian Processes - Gawel Kus
Quantum Gaussian Processes - Gawel KusQuantum Gaussian Processes - Gawel Kus
Quantum Gaussian Processes - Gawel Kus
 
The Advancement and Challenges in Computational Physics - Phdassistance
The Advancement and Challenges in Computational Physics - PhdassistanceThe Advancement and Challenges in Computational Physics - Phdassistance
The Advancement and Challenges in Computational Physics - Phdassistance
 
教師なし画像特徴表現学習の動向 {Un, Self} supervised representation learning (CVPR 2018 完全読破...
教師なし画像特徴表現学習の動向 {Un, Self} supervised representation learning (CVPR 2018 完全読破...教師なし画像特徴表現学習の動向 {Un, Self} supervised representation learning (CVPR 2018 完全読破...
教師なし画像特徴表現学習の動向 {Un, Self} supervised representation learning (CVPR 2018 完全読破...
 

More from Fabio Palomba

Does Refactoring of Test Smells Induce Fixing Flaky Tests?
Does Refactoring of Test Smells Induce Fixing Flaky Tests?Does Refactoring of Test Smells Induce Fixing Flaky Tests?
Does Refactoring of Test Smells Induce Fixing Flaky Tests?
Fabio Palomba
 
Social Debt Analytics for Improving the Management of Software Evolution Tasks
Social Debt Analytics for Improving the Management of Software Evolution TasksSocial Debt Analytics for Improving the Management of Software Evolution Tasks
Social Debt Analytics for Improving the Management of Software Evolution Tasks
Fabio Palomba
 
Smells Like Teen Spirit: Improving Bug Prediction Performance using the Inten...
Smells Like Teen Spirit: Improving Bug Prediction Performance using the Inten...Smells Like Teen Spirit: Improving Bug Prediction Performance using the Inten...
Smells Like Teen Spirit: Improving Bug Prediction Performance using the Inten...
Fabio Palomba
 
A Textual-based Technique for Smell Detection
A Textual-based Technique for Smell DetectionA Textual-based Technique for Smell Detection
A Textual-based Technique for Smell Detection
Fabio Palomba
 
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...
Fabio Palomba
 
When and Why Your Code Starts to Smell Bad
When and Why Your Code Starts to Smell BadWhen and Why Your Code Starts to Smell Bad
When and Why Your Code Starts to Smell Bad
Fabio Palomba
 
Textual Analysis for Code Smell Detection
Textual Analysis for Code Smell DetectionTextual Analysis for Code Smell Detection
Textual Analysis for Code Smell Detection
Fabio Palomba
 
PhD Symposium 2014
PhD Symposium 2014PhD Symposium 2014
PhD Symposium 2014
Fabio Palomba
 
Do They Really Smell Bad? A Study on Developers' Perception of Bad Code Smells
Do They Really Smell Bad? A Study on Developers' Perception of Bad Code SmellsDo They Really Smell Bad? A Study on Developers' Perception of Bad Code Smells
Do They Really Smell Bad? A Study on Developers' Perception of Bad Code Smells
Fabio Palomba
 
People management
People managementPeople management
People management
Fabio Palomba
 
Next! - An Android application to support tourists activities
Next! - An Android application to support tourists activitiesNext! - An Android application to support tourists activities
Next! - An Android application to support tourists activities
Fabio Palomba
 
Detecting Bad Smells in Source Code using Change History Information
Detecting Bad Smells in Source Code using Change History InformationDetecting Bad Smells in Source Code using Change History Information
Detecting Bad Smells in Source Code using Change History Information
Fabio Palomba
 
A false digital alibi on Mac OS X
A false digital alibi on Mac OS XA false digital alibi on Mac OS X
A false digital alibi on Mac OS X
Fabio Palomba
 
Un plug-in Eclipse per il supporto all'Extract Class Refactoring
Un plug-in Eclipse per il supporto all'Extract Class RefactoringUn plug-in Eclipse per il supporto all'Extract Class Refactoring
Un plug-in Eclipse per il supporto all'Extract Class Refactoring
Fabio Palomba
 

More from Fabio Palomba (14)

Does Refactoring of Test Smells Induce Fixing Flaky Tests?
Does Refactoring of Test Smells Induce Fixing Flaky Tests?Does Refactoring of Test Smells Induce Fixing Flaky Tests?
Does Refactoring of Test Smells Induce Fixing Flaky Tests?
 
Social Debt Analytics for Improving the Management of Software Evolution Tasks
Social Debt Analytics for Improving the Management of Software Evolution TasksSocial Debt Analytics for Improving the Management of Software Evolution Tasks
Social Debt Analytics for Improving the Management of Software Evolution Tasks
 
Smells Like Teen Spirit: Improving Bug Prediction Performance using the Inten...
Smells Like Teen Spirit: Improving Bug Prediction Performance using the Inten...Smells Like Teen Spirit: Improving Bug Prediction Performance using the Inten...
Smells Like Teen Spirit: Improving Bug Prediction Performance using the Inten...
 
A Textual-based Technique for Smell Detection
A Textual-based Technique for Smell DetectionA Textual-based Technique for Smell Detection
A Textual-based Technique for Smell Detection
 
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...
On the Diffusion of Test Smells in Automatically Generated Test Code: An Empi...
 
When and Why Your Code Starts to Smell Bad
When and Why Your Code Starts to Smell BadWhen and Why Your Code Starts to Smell Bad
When and Why Your Code Starts to Smell Bad
 
Textual Analysis for Code Smell Detection
Textual Analysis for Code Smell DetectionTextual Analysis for Code Smell Detection
Textual Analysis for Code Smell Detection
 
PhD Symposium 2014
PhD Symposium 2014PhD Symposium 2014
PhD Symposium 2014
 
Do They Really Smell Bad? A Study on Developers' Perception of Bad Code Smells
Do They Really Smell Bad? A Study on Developers' Perception of Bad Code SmellsDo They Really Smell Bad? A Study on Developers' Perception of Bad Code Smells
Do They Really Smell Bad? A Study on Developers' Perception of Bad Code Smells
 
People management
People managementPeople management
People management
 
Next! - An Android application to support tourists activities
Next! - An Android application to support tourists activitiesNext! - An Android application to support tourists activities
Next! - An Android application to support tourists activities
 
Detecting Bad Smells in Source Code using Change History Information
Detecting Bad Smells in Source Code using Change History InformationDetecting Bad Smells in Source Code using Change History Information
Detecting Bad Smells in Source Code using Change History Information
 
A false digital alibi on Mac OS X
A false digital alibi on Mac OS XA false digital alibi on Mac OS X
A false digital alibi on Mac OS X
 
Un plug-in Eclipse per il supporto all'Extract Class Refactoring
Un plug-in Eclipse per il supporto all'Extract Class RefactoringUn plug-in Eclipse per il supporto all'Extract Class Refactoring
Un plug-in Eclipse per il supporto all'Extract Class Refactoring
 

Extract Package Refactoring in ARIES

  • 1. Extract Package Refactoring in ARIES Fabio Palomba*, Michele Tufano❊ , Gabriele Bavota#, Rocco Oliveto✢ ,Andrian Marcus†, Denys Poshyvanyk❊ ,Andrea De Lucia* * University of Salerno ❊ The College of William and Mary # Free University of Bozen-Bolzano ✢ University of Molise † University ofTexas
  • 4. How to solve the problem? Big Bang Software re-modularization A complete re-organization of the system’s classes into packages
  • 5. “Big- Bang” re-modularization is not a viable solution since even for modest systems, the number of changes required to apply it is in the order of thousands of lines of code” M. Hall, M. Khojaye, N.Walkinshaw, and P. McMinn “Establishing the source code disruption caused by automated remodularization tools” ICSME 2014 How to solve the problem?
  • 6. Thus, re-modularization efforts need to be localized, and aimed at solving specific design issues.
  • 7. G. Bavota,A. De Lucia,A. Marcus, R. Oliveto “Using Structural and Semantic Measures to Improve Software Modularization” EMSE A Graph-theory based Approach for Extract Package Refactoring
  • 8. A Graph-theory based Approach for Extract Package Refactoring n classes Package P
  • 9. A Graph-theory based Approach for Extract Package Refactoring class-by-class matrix construction c2 .
.
.
.
.
.
.
.
 cn c1 n classes Package P c1 c2 ........ Cn
  • 10. A Graph-theory based Approach for Extract Package Refactoring class-by-class matrix construction c2 .
.
.
.
.
.
.
.
 cn CCBC ICP Conceptual Coupling Between Classes Information flow-based Coupling c1 n classes Package P c1 c2 ........ Cn
  • 11. A Graph-theory based Approach for Extract Package Refactoring class-by-class matrix construction c2 .
.
.
.
.
.
.
.
 cn CCBC ICP Conceptual Coupling Between Classes Information flow-based Coupling ci,j = wCCBC ·CCBC + wICP · ICP c1 n classes Package P c1 c2 ........ Cn
  • 12. A Graph-theory based Approach for Extract Package Refactoring c2 .
.
.
.
.
.
.
.
 cn c1 c1 c2 ........ Cn class-by-class matrix filtering and transitive clousure 0.8 0.70.5 0.7 0.6 Chain 1 Chain 2Chain 3
  • 13. A Graph-theory based Approach for Extract Package Refactoring c2 .
.
.
.
.
.
.
.
 cn c1 c1 c2 ........ Cn class-by-class matrix filtering and transitive clousure 0.8 0.70.5 0.7 0.6 Chain 1 Chain 2Chain 3
  • 14. A Graph-theory based Approach for Extract Package Refactoring c2 .
.
.
.
.
.
.
.
 cn c1 c1 c2 ........ Cn class-by-class matrix filtering and transitive clousure 0.8 0.70.5 0.7 0.6 Chain 1 Chain 2Chain 3 0.8 0.70.5 0.7 0.6 Chain 1 Chain 2Chain 3 merging trivial chains Chain 1 Candidate Package 1 Chain 2
 Chain 3 Candidate Package 2
  • 15. An Eclipse Plugin to Automate Refactoring Operations
  • 16. Extract Package Refactoring in ARIES Fabio Palomba University of Salerno fpalomba@unisa.it dibt.unimol.it/fpalomba MicheleTufano The College of William and Mary mtufano@email.wm.edu www.cs.wm.edu/~mtufano/ Q&A Thank you!