Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1506216.1506228acmconferencesArticle/Chapter ViewAbstractPublication PagesisecConference Proceedingsconference-collections
research-article

Computing dynamic clusters

Published: 23 February 2009 Publication History
  • Get Citation Alerts
  • Abstract

    When trying to reverse engineer software, execution trace analysis is increasingly used. Though, by using this technique we are quickly faced with an enormous amount of data that we must process. While many solutions have been proposed that consist of summarizing, filtering or compressing the trace, the lossless techniques are seldom able to cope with millions of events. Then, we developed a dynamic clustering technique, based on the segmentation of the execution trace that can losslessly process such a large quantity of data. In order to compute the clusters of classes we use a maximal clique computing algorithm. After having presented our technology we show experimental results highlighting that it is robust with respect to the segmentation parameters. Finally we present the tool we developed to compute dynamic clusters from execution traces.

    References

    [1]
    Bergey J., Smith D., Weiderman N., Woods S. 1999. Options Analysis for Reengineering (OAR): Issues and Conceptual Approach. Software Engineering Institute, Tech. Note CMU/SEI-99-TN-014, 1999.
    [2]
    Kazman R., O'Brien L., Verhoef C. 2003. Architecture Reconstruction Guidelines, 3rd edition. Software Engineering Institute, Tech. Report CMU/SEI-2002-TR-034, 2003.
    [3]
    Tilley S.R., Santanu P., Smith D.B. 1996. Toward a Framework for Program Understanding. Proc. IEEE Int. Workshop on Program Comprehension, 1996.
    [4]
    Biggerstaff T. J., Mitbander B.G., Webster D.E. 1994. Program Understanding and the Concept Assignment Problem. Communicaitons of the ACM, CACM 37(5), 1994.
    [5]
    Gély, A. 2005. Algorithmique Combinatoire: Cliques, Bicycles et Systèmes Implicatifs. PhD thesis. Univ. de Clermont-Ferrand II, 2005.
    [6]
    Meyer M., Wendehals L. 2005. Selective Tracing for Dynamic Analyses. Proceedings of the 1st International Workshop on Program Comprehension through Dynamic Analysis (PCODA'05).
    [7]
    Hamou-Lhadj A. 2005. The Concept of Trace Summarization. Proceedings of the 1st International Workshop on Program Comprehension through Dynamic Analysis (PCODA'05).
    [8]
    Vasconcelos A., Cepêda R., Werner C. 2005. An Approach to Program Comprehension through Reverse Engineering of Complementary Software Views. Proceedings of the 1st International Workshop on Program Comprehension through Dynamic Analysis (PCODA'05).
    [9]
    Sartipi K., Safyallah H. 2006. An Environment for Pattern based Dynamic Analysis of Software Systems. Proceedings of the 2nd International Workshop on Program Comprehension through Dynamic Analysis (PCODA'06).
    [10]
    Dugerdil Ph., Jossi S. 2008. Empirical Assessment of Execution Trace Segmentation in Reverse-Engineering. ICSOFT 2008.
    [11]
    Marcus A. 2004. Semantic Driven Program Analysis. Proc IEEE Int. Conference on Software Maintenance (ICSM'04).
    [12]
    Verbaere M. 2003. Program Slicing for Refactoring. MS Thesis, Oxford University. 2003
    [13]
    Siff M., Reps T. 1999. Identifying Modules via Concept Analysis. IEEE Trans. On Software Engineering 25(6). 1999
    [14]
    Harman M., Gold N., Hierons R., Binkeley D. 2002. Code Extraction Algorithms which Unify Slicing and Concept Assignment. Proc IEEE Working Conference on Reverse Engineering (WCRE'02).
    [15]
    Tonella P. 2003. Using a Concept Lattice of Decomposition Slices for Program Understanding and Impact Analysis. IEEE Trans. On Software Engineering. 29(6), 2003
    [16]
    Wiggerts T.A. 1997. Using Clustering Algorithms in Legacy Systems Remodularization. Proc IEEE Working Conference on Reverse Engineering (WCRE '97),
    [17]
    Müller H.A., Orgun M.A., Tilley S., Uhl J.S. 1993. A Reverse Engineering Approach To Subsystem Structure Identification. Software Maintenance: Research and Practice 5(4), John Wiley & Sons. 1993
    [18]
    Andritsos P., Tzerpos V. 2003. Software Clustering based on Information Loss Minimization. Proc. IEEE Working Conference on Reverse engineering. 2003
    [19]
    Andritsos P., Tzerpos V. 2005. Information Theoretic Software Clustering. IEEE Trans. on Software Engineering 31(2). 2005
    [20]
    Tonella P. 2001. Concept Analysis for Module Restructuring. IEEE Trans. On Software Engineering, 27(4), 2001
    [21]
    Mitchell B.S. 2003. A Heuristic Search Approach to Solving the Software Clustering Problem. Proc IEEE Conf on Software Maintenance. 2003
    [22]
    Zaidman A., Demeyer S. 2004. Managing trace data volume through a heuristical clustering process based on event execution frequency. Proc. of the IEEE European Conference on Software Maintenance and Reengineering (CSMR'2004).
    [23]
    Xiao C., Tzerpos, V. 2005. Software Clustering basd on Dynamic Dependencies. Proc. of the IEEE European Conference on Software Maintenance and Reengineering (CSMR'2005).
    [24]
    Chan A., Holmes R., Murphy G.C., Ying A.T.T. 2003. Scaling an Object-oriented System Execution Visualizer through Sampling. Proc. of the 11th IEEE International Workshop on Program Comprehension (ICPC'03).
    [25]
    Hamou-Lhadj A., Lethbridge T.C 2002. Compression Techniques to Simplify the Analysis of Large Execution Traces. Proc. of the IEEE Workshop on Program Comprehension (IWPC), 2002.
    [26]
    Dugerdil Ph. 2007. Using trace sampling techniques to identify dynamic clusters of classes. Proc. of the IBM CAS Software and Systems Engineering Symposium (CASCON), 2007
    [27]
    Dugerdil Ph., Jossi S. 2007. Role based clustering of software modules: an industrial experiment. Proc. ICSOFT 2007.
    [28]
    Jacobson I., Booch G., Rumbaugh J. 1999. The Unified Software Development Process. Addison-Wesley Professional 1999.
    [29]
    Hamou-Lhadj A. Lethbridge T. 2006. Summarizing the Content of Large Traces to Facilitate the Understanding of the Behavior of a Software System. Proc. of the IEEE Int. Conference on Program Comprehension (ICPC'06), 2006.
    [30]
    http://www.graphviz.org/

    Cited By

    View all
    • (2016)Dynamic Analysis Techniques to Reverse Engineer Mobile ApplicationsSoftware Technologies10.1007/978-3-319-30142-6_14(250-268)Online publication date: 25-Feb-2016
    • (2010)Automatic generation of abstract views for legacy software comprehensionProceedings of the 3rd India software engineering conference10.1145/1730874.1730881(23-32)Online publication date: 25-Feb-2010

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ISEC '09: Proceedings of the 2nd India software engineering conference
    February 2009
    154 pages
    ISBN:9781605584263
    DOI:10.1145/1506216
    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: 23 February 2009

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. dynamic analysis
    2. reverse-engineering
    3. software architecture
    4. software clustering

    Qualifiers

    • Research-article

    Conference

    ISEC '09
    Sponsor:
    ISEC '09: India Software Engineering Conference
    February 23 - 26, 2009
    Pune, India

    Acceptance Rates

    Overall Acceptance Rate 76 of 315 submissions, 24%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 10 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2016)Dynamic Analysis Techniques to Reverse Engineer Mobile ApplicationsSoftware Technologies10.1007/978-3-319-30142-6_14(250-268)Online publication date: 25-Feb-2016
    • (2010)Automatic generation of abstract views for legacy software comprehensionProceedings of the 3rd India software engineering conference10.1145/1730874.1730881(23-32)Online publication date: 25-Feb-2010

    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