Using structural and semantic measures to improve software modularization

被引:53
作者
Bavota, Gabriele [1 ]
De Lucia, Andrea [2 ,3 ,4 ]
Marcus, Andrian [5 ]
Oliveto, Rocco [6 ,7 ,8 ]
机构
[1] Univ Salerno, Dept Math & Informat, Fisciano Sa, Italy
[2] Univ Salerno, Fisciano Sa, Italy
[3] Univ Salerno, Dept Engn, Fisciano Sa, Italy
[4] Univ Salerno, Res Ctr Software Technol RCOST, Fisciano Sa, Italy
[5] Wayne State Univ, Detroit, MI 48202 USA
[6] Univ Molise, Dept Math & Informat, Pesche Is, Italy
[7] Univ Molise, Fac Sci, Pesche Is, Italy
[8] Univ Molise, Dept Stat, Pesche Is, Italy
基金
美国国家科学基金会;
关键词
Software re-modularization; Information-flow-based coupling; Conceptual coupling between classes; Empirical studies; CLUSTERING ALGORITHMS; LEGACY SYSTEMS; INFORMATION; COHESION;
D O I
10.1007/s10664-012-9226-8
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Changes during software evolution and poor design decisions often lead to packages that are hard to understand and maintain, because they usually group together classes with unrelated responsibilities. One way to improve such packages is to decompose them into smaller, more cohesive packages. The difficulty lies in the fact that most definitions and interpretations of cohesion are rather vague and the multitude of measures proposed by researchers usually capture only one aspect of cohesion. We propose a new technique for automatic re-modularization of packages, which uses structural and semantic measures to decompose a package into smaller, more cohesive ones. The paper presents the new approach as well as an empirical study, which evaluates the decompositions proposed by the new technique. The results of the evaluation indicate that the decomposed packages have better cohesion without a deterioration of coupling and the re-modularizations proposed by the tool are also meaningful from a functional point of view.
引用
收藏
页码:901 / 932
页数:32
相关论文
共 50 条
[1]   Automatic Package Coupling and Cycle Minimization [J].
Abdeen, Hani ;
Ducasse, Stephane ;
Sahraoui, Houari ;
Alloui, Ilham .
16TH WORKING CONFERENCE ON REVERSE ENGINEERING (WCRE 2009), 2009, :103-+
[2]  
[Anonymous], 2010, ASE 10 P IEEE ACM IN, DOI DOI 10.1145/1858996.1859024
[3]  
Anquetil N., 1999, Sixth Working Conference on Reverse Engineering (Cat. No.PR00303), P235, DOI 10.1109/WCRE.1999.806964
[4]   A method to re-organize legacy systems via concept analysis [J].
Antoniol, G ;
Casazza, G ;
Di Penta, M ;
Merlo, E .
9TH INTERNATIONAL WORKSHOP ON PROGRAM COMPREHENSION, PROCEEDINGS, 2001, :281-290
[5]  
Baeza-Yates R, 1999, MODERN INFORM RETRIE, V463
[6]  
Basili VR., 1994, The Goal Question Metric Approach
[7]  
Bavota G., 2010, Proceedings 17th Working Conference on Reverse Engineering (WCRE 2010), P195, DOI 10.1109/WCRE.2010.29
[8]  
Bavota G, 2011, SOFTWARE REMODULARIZ
[9]  
Bavota G, 2010, PROC IEEE INT CONF S
[10]   Identifying Extract Class refactoring opportunities using structural and semantic cohesion measures [J].
Bavota, Gabriele ;
De Lucia, Andrea ;
Oliveto, Rocco .
JOURNAL OF SYSTEMS AND SOFTWARE, 2011, 84 (03) :397-414