Extract Package Refactoring in ARIES
-
Upload
fabio-palomba -
Category
Documents
-
view
76 -
download
1
Transcript of Extract Package Refactoring in ARIES
Extract Package Refactoring in ARIESFabio 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 of Texas
How to solve the problem?
Big Bang Software re-modularizationA 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?
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
class-by-classmatrix construction
c2........
cn
c1
n classes
Package Pc1 c2 ........ Cn
A Graph-theory based Approach for Extract Package Refactoring
class-by-classmatrix construction
c2........
cn
CCBC ICPConceptual Coupling
Between ClassesInformation flow-based
Coupling
c1
n classes
Package Pc1 c2 ........ Cn
A Graph-theory based Approach for Extract Package Refactoring
class-by-classmatrix construction
c2........
cn
CCBC ICPConceptual Coupling
Between ClassesInformation flow-based
Coupling
ci,j = wCCBC · CCBC + wICP · ICP
c1
n classes
Package Pc1 c2 ........ Cn
A Graph-theory based Approach for Extract Package Refactoring
c2........
cn
c1c1 c2 ........ Cn
class-by-class matrixfiltering and transitive clousure
0.8
0.70.5
0.70.6
Chain 1
Chain 2Chain 3
A Graph-theory based Approach for Extract Package Refactoring
c2........
cn
c1c1 c2 ........ Cn
class-by-class matrixfiltering and transitive clousure
0.8
0.70.5
0.70.6
Chain 1
Chain 2Chain 3
A Graph-theory based Approach for Extract Package Refactoring
c2........
cn
c1c1 c2 ........ Cn
class-by-class matrixfiltering and transitive clousure
0.8
0.70.5
0.70.6
Chain 1
Chain 2Chain 3
0.8
0.70.5
0.70.6
Chain 1
Chain 2Chain 3
merging trivialchains
Chain 1
Candidate Package 1
Chain 2 Chain 3
Candidate Package 2
Extract Package Refactoring in ARIES
Fabio PalombaUniversity of [email protected]/fpalomba
Michele TufanoThe College of William and Mary
[email protected]/~mtufano/
Q&AThank you!