Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/2093889.2093911dlproceedingsArticle/Chapter ViewAbstractPublication PagescasconConference Proceedingsconference-collections
research-article

Deriving high-level abstractions from legacy software using example-driven clustering

Published: 07 November 2011 Publication History
  • Get Citation Alerts
  • Abstract

    Much research in the past two decades has focused on automatic generation of abstractions from low-level software elements using clustering algorithms. This research is generally motivated by comprehension improvement through more abstract constructs, re-architecture of existing systems to improve their maintenance, or migration to new paradigms. In this paper, we start from a formulation of software clustering problems in a setting, where elements of a software system form a graph to be partitioned in order to derive high-level abstractions. We then propose a novel formulation where the graph partitioning solution is evaluated by the degree of its conformance with past clustering cases given as examples. We provide a concrete illustration of this formulation with the problem of object identification in procedural code.

    References

    [1]
    G. Canfora, A. Cimitile, M. Munro and M. Tortorella, "Experiments in identifying reusable abstract data types in program code", in Workshop on Program Comprehension, pp. 36--45, 1993.
    [2]
    G. Czibula and G. Şerban, "Improving systems design using a clustering approach", International Journal of Computer Science and Network Security, vol. 6, no. 12, pp. 40--49, 2006.
    [3]
    H. Abdeen, S. Ducasse, H. Sahraoui, and I. Alloui, "Automatic package coupling and cycle minimization", in Working Conference on Reverse Engineering, pp. 103--112, 2009.
    [4]
    H. Sahraoui, P. Valtchev, I. Konkobo, and S. Shen, "Object identification in legacy code as a grouping problem", in International Computer Software and Applications Conference, pp. 689--696, 2002.
    [5]
    H. Sahraoui, W. Melo, H. Lounis, and F. Dumont, "Applying concept formation methods to object identification in procedural code", in International Conference on Automated Software Engineering, pp. 210--218, 1997.
    [6]
    H. Washizaki and Y. Fukazawa. "A technique for automatic component extraction from object-oriented programs by refactoring", in Science of Computer Programming, vol. 56, no.1--2, pp. 99--116, 2005.
    [7]
    J. Kennedy and R. Eberhart, "Particle swarm optimization", in International Conference on Neural Networks, vol. 4, pp. 1942--1948, 1995.
    [8]
    M. Harman and L. Tratt, "Pareto optimal search based refactoring at the design level", in Conference on Genetic and Evolutionary Computation, pp. 1106--1113, 2007.
    [9]
    M. Harman, R. Hierons, and M. Proctor, "A new representation and crossover operator for search-based optimization of software modularization", in Genetic and Evolutionary Computation Conference, pp. 1351--1358, 2002.
    [10]
    M. O'Keefee and Mel Ó Cinnéide. "Automated design improvement by example", in Conference on New Trends in Software Methodologies, Tools and Techniques, pp. 315--329, 2007.
    [11]
    M. Siff and T. Reps, "Identifying modules via concept analysis", in Transactions on Software Engineering, vol. 25, no. 6, pp. 749--768, 1999.
    [12]
    M. Wimmer, M. Strommer, H. Kargl, and G. Kramler, "Towards model transformation generation by-example", in International Conference on System Sciences, pp. 285b, 2007.
    [13]
    O. Seng, M. Bauer, M. Biehl, and G. Pache, "Search-based improvement of subsystem decompositions", in Conference on Genetic and Evolutionary Computation, pp. 1045--1051, 2005.
    [14]
    S. Allier, H. Sahraoui, S. Sadou, and S. Vaucher, "Restructuring object-oriented applications into component-oriented applications by using consistency with execution traces", in International Symposium on Component Based Software Engineering, pp. 216--231, 2010.
    [15]
    S. Kirkpatrick, "Optimization by simulated annealing: quantitative studies", in Journal Of Statistical Physics, vol. 34, no. 5, pp. 975--986, 1984.
    [16]
    S. Mancoridis, B. Mitchell, C. Rorres, Y. Chen, and E. Gansner, "Using automatic clustering to produce high-level system organizations of source code", in International Workshop on Program Comprehension, pp. 45--53, 1998.
    [17]
    S. Mancoridis, B. Mitchell, Y. Chen, and E. Gansner, "Bunch: A clustering tool for the recovery and maintenance of software system structures", in International Conference on Software Maintenance, pp. 50--59, 1999.
    [18]
    S. Mitchell, "A heuristic search approach to solving the software clustering problem", Dissertation, Drexel University, Philadelphia, PA, United States, 2002.
    [19]
    V. D. Blondel, A. Gajardo, M. Heymans, P. Senellart, and P. Van Dooren, "A measure of similarity between graph vertexes: Applications to synonym extraction and web searching", Society for Industrial and Applied Mathematics, vol. 46, no. 4, pp. 647--666, 2004.
    [20]
    V. Kelner, F. Capitanescu, O. Léonard, and L. Wehenkel, "A hybrid optimization technique coupling an evolutionary and a local search algorithm", in Journal Of Computational And Applied Mathematics, vol. 215, no.2, pp. 448--456, 2008.
    [21]
    V. Van Deursen and T. Kuipers, "Identifying objects using cluster and concept analysis", in International Conference on Software Engineering, pp. 246--255, 1999.
    [22]
    P. Andritsos and V. Tzerpos, "Software clustering based on information loss minimization.", in 10th Working Conference on Reverse Engineering, pp. 334--344, 2003.
    1. Deriving high-level abstractions from legacy software using example-driven clustering

        Recommendations

        Comments

        Information & Contributors

        Information

        Published In

        cover image DL Hosted proceedings
        CASCON '11: Proceedings of the 2011 Conference of the Center for Advanced Studies on Collaborative Research
        November 2011
        422 pages

        Sponsors

        • IBM Canada Ltd. Laboratory Centre for Advanced Studies
        • IBM Canada: IBM Canada

        Publisher

        IBM Corp.

        United States

        Publication History

        Published: 07 November 2011

        Qualifiers

        • Research-article

        Conference

        CASCON '11
        Sponsor:
        • IBM Canada
        CASCON '11: Center for Advanced Studies on Collaborative Research
        November 7 - 10, 2011
        Ontario, Toronto, Canada

        Acceptance Rates

        Overall Acceptance Rate 24 of 90 submissions, 27%

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • 0
          Total Citations
        • 71
          Total Downloads
        • Downloads (Last 12 months)0
        • Downloads (Last 6 weeks)0
        Reflects downloads up to 11 Aug 2024

        Other Metrics

        Citations

        View Options

        Get Access

        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