Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1068009.1068186acmconferencesArticle/Chapter ViewAbstractPublication PagesgeccoConference Proceedingsconference-collections
Article

Search-based improvement of subsystem decompositions

Published: 25 June 2005 Publication History

Abstract

The subsystem decomposition of a software system degrades gradually during its lifetime and therefore it gets harder and harder to maintain. As a result this decomposition needs to be reconditioned from time to time. The problem is to determine a suitable subsystem decomposition that can be used as a basis for future maintenance tasks. This paper describes a new methodology that computes such a subsystem decomposition by optimizing metrics and heuristics of good subsystem design. The main idea is to treat this task as a search problem and to solve it using a genetic algorithm.

References

[1]
N. Anquetil and T. C. Lethbridge. Experiments with clustering as a software remodularization method. In Proceedings of the Sixth Working Conference on Reverse Engineering, pages 235--255, 1999.
[2]
M. Bauer and M. Trifu. Architecture-aware adaptive clustering of oo systems. In Eighth European Conference on Software Maintenance and Reengineering (CSMR 2004), pages 3 -- 14, 2004.
[3]
O. Ciupke. Automatic Detection of Design Problems in Object-Oriented Reengineering. In Technology of Object-Oriented Languages and Systems - TOOLS 30, 1999.
[4]
D. Doval, S. Mancoridis, and B. S. Mitchell. Automatic clustering of software systems using a genetic algorithm. In Proceedings of the IEEE Conference on Software Technology and Engineering Practice, pages 73--81, 1999.
[5]
E. Falkenauer. Genetic algorithms and grouping problems. Wiley, New York, 1998.
[6]
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
[7]
T. Genssler and V. Kuttruff. Source-to-source transformation in the large. In Proceedings of the Joint Modular Language Conference. Springer, August 2003.
[8]
D. E. Goldberg. Genetic algorithms in search, optimization, and machine learning. Addison-Wesley, 1989.
[9]
J. H. Holland. Adaption in Natural and Artificial Systems. University of Michigan Press, 1975.
[10]
J. Hromkovic. Algorithmics for hard problems. Springer, 2. ed. edition, 2003.
[11]
S. Mancoridis, B. S. Mitchell, Y. Chen, and E. R. Gansner. Bunch: A clustering tool for the recovery and maintenance of software system structures. In Proceedings of the IEEE International Conference on Software Maintenance, pages 50--59, 1999.
[12]
S. Mancoridis, B. S. Mitchell, C. Rorres, Y. Chen, and E. R. Gansner. Using automatic clustering to produce high-level system organizations of source code. In Proceedings of the Sixth International Workshop on Program Comprehension, pages 45--52, 1998.
[13]
R. Martin. Agile Software Development, Principles, Patterns, and Practices. Prentice Hall, 2002.
[14]
D. Parnas. Software aging. In Proceedings of the 16th International Conference on Software Engineering, 1994.
[15]
D. Rayside, S. Reuss, E. Hedges, and K. Kontogiannis. The effect of call graph construction algorithms for object-oriented programs on automatic clustering. In Proceedings of the Eighth International Workshop on Program Comprehension, pages 191--200. IEEE, 2000.
[16]
O. Seng and G. Pache. Search based structure improvement. In Proceedings of the first International Workshop on Software Evolution Transformations (SET 2004), pages 7--10. Queen's University, Kingston, Ontario, Canada, Nov. 2004.
[17]
V. Tzerpos and R. Holt. Software botryology. automatic clustering of software systems. In Proceedings of the Ninth International Workshop on Database and Expert Systems Applications, pages 811--818, 1998.
[18]
V. Tzerpos and R. C. Holt. The orphan adoption problem in architecture maintenance. In Working Conference on Reverse Engineering (WCRE 1997), page 76, Amsterdam, The Netherlands, Oktober 1997.
[19]
T. A. Wiggerts. Using clustering algorithms in legacy systems remodularization. In Proceedings of the Fourth Working Conference on Reverse Engineering, pages 33--43, 1997.
[20]
C. T. Zahn. Graph theoretical methods for detecting and describing gestalt clusters. IEEE Transactions on Computers, 20(1), 1971.

Cited By

View all
  • (2024)3Erefactor: Effective, Efficient and Executable Refactoring Recommendation for Software Architectural ConsistencyIEEE Transactions on Software Engineering10.1109/TSE.2024.344956450:10(2633-2655)Online publication date: 1-Oct-2024
  • (2023)Identifying refactoring opportunities for large packages by analyzing maintainability characteristics in Java OSSJournal of Systems and Software10.1016/j.jss.2023.111717202(111717)Online publication date: Aug-2023
  • (2023)Novel Automatic Approach Using Modified Differential Evaluation to Software Module Clustering ProblemSN Computer Science10.1007/s42979-023-02238-64:6Online publication date: 21-Oct-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
GECCO '05: Proceedings of the 7th annual conference on Genetic and evolutionary computation
June 2005
2272 pages
ISBN:1595930108
DOI:10.1145/1068009
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 June 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. design heuristics
  2. genetic algorithms
  3. remodularization
  4. software clustering
  5. software metrics

Qualifiers

  • Article

Conference

GECCO05
Sponsor:

Acceptance Rates

Overall Acceptance Rate 1,669 of 4,410 submissions, 38%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)3
  • Downloads (Last 6 weeks)0
Reflects downloads up to 25 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)3Erefactor: Effective, Efficient and Executable Refactoring Recommendation for Software Architectural ConsistencyIEEE Transactions on Software Engineering10.1109/TSE.2024.344956450:10(2633-2655)Online publication date: 1-Oct-2024
  • (2023)Identifying refactoring opportunities for large packages by analyzing maintainability characteristics in Java OSSJournal of Systems and Software10.1016/j.jss.2023.111717202(111717)Online publication date: Aug-2023
  • (2023)Novel Automatic Approach Using Modified Differential Evaluation to Software Module Clustering ProblemSN Computer Science10.1007/s42979-023-02238-64:6Online publication date: 21-Oct-2023
  • (2022)DEPICTER: A Design-Principle Guided and Heuristic-Rule Constrained Software Refactoring ApproachIEEE Transactions on Reliability10.1109/TR.2022.315985171:2(698-715)Online publication date: Jun-2022
  • (2020)Hierarchical System Decomposition Using Genetic Algorithm for Future Sustainable ComputingSustainability10.3390/su1206217712:6(2177)Online publication date: 11-Mar-2020
  • (2020)Software Remodularization Using Tabu SearchProceedings of the 2020 International Conference on Internet Computing for Science and Engineering10.1145/3424311.3424321(25-29)Online publication date: 14-Jan-2020
  • (2020)Restructuring Object-Oriented Software Systems Using Various Aspects of Class InformationArabian Journal for Science and Engineering10.1007/s13369-020-04785-z45:12(10433-10457)Online publication date: 21-Jul-2020
  • (2019)Improving web service interfaces modularity using multi-objective optimizationAutomated Software Engineering10.1007/s10515-019-00256-426:2(275-312)Online publication date: 1-Jun-2019
  • (2018)An Analytical and Comparative Review of Cohesion MetricsProceedings of the 2018 International Conference on Software Engineering and Information Management10.1145/3178461.3178479(17-25)Online publication date: 4-Jan-2018
  • (2018)An Empirical Study of Cohesion and Coupling: Balancing Optimization and DisruptionIEEE Transactions on Evolutionary Computation10.1109/TEVC.2017.269128122:3(394-414)Online publication date: Jun-2018
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media