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

Superstate identification for state machines using search-based clustering

Published: 07 July 2010 Publication History
  • Get Citation Alerts
  • Abstract

    State machines are a popular method of representing a system at a high level of abstraction that enables developers to gain an overview of the system they represent and quickly understand it.
    Several techniques have been developed to reverse engineer state machines from software, so as to produce a concise and up-to-date document of how a system works. However, the machines that are recovered are usually flat and contain a large number of states. This means that the abstract picture they are supposed to provide is often itself very complex, requiring effort to understand.
    This paper proposes the use of search-based clustering as a means of overcoming this problem. Clustering state machines opens up the possibility of recovering the structural hierarchy of a state machine, such that superstates may be identified. An evaluation study is performed using the Bunch search-based clustering tool, which demonstrates the usefulness of the approach.

    References

    [1]
    G. Ammons, R. Bodík, and J. Larus. Mining Specifications. In 29th SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), pages 4--16, Portland, Oregon, 2002.
    [2]
    K. Androutsopoulos, N. Gold, M. Harman, Z. Li, and L. Tratt. A theoretical and empirical study of EFSM dependence. In Proceedings of the International Conference on Software Maintenance (ICSM'09), pages 287--296. IEEE, 2009.
    [3]
    C. Becker, S. Glomb, and M. Graf. Uml notation and ilogix rhapsody tool. Seminar on Tool-supported modeling of Tamagotchi, University of Kaiserslautern, 1998.
    [4]
    E. Börger. Abstract state machines and high-level system design and analysis. Theoretical Computer Science, 336(2-3):205--207, 2005.
    [5]
    K. Cheng and A. Krishnakumar. Automatic functional test generation using the extended finite state machine model. In 30th ACM/IEEE Design Automation Conference, pages 86--91, 1993.
    [6]
    E. J. Chikofsky and J. H. C. II. Reverse engineering and design recovery: A taxonomy. IEEE Software, 7(1):13--17, 1990.
    [7]
    M. Cohen, S. B. Kooi, and W. Srisa-an. Clustering the heap in multi-threaded applications for improved garbage collection. In GECCO '06: Proceedings of the 8th annual conference on Genetic and evolutionary computation, pages 1901--1908, New York, NY, USA, 2006. ACM.
    [8]
    J. Cook and A. Wolf. Discovering models of software processes from event-based data. ACM Transactions on Software Engineering and Methodology, 7(3):215--249, July 1998.
    [9]
    C. Damas, B. Lambeau, P. Dupont, and A. van Lamsweerde. Generating annotated behavior models from end-user scenarios. IEEE Transactions on Software Engineering, 31:1056--1073, 2005.
    [10]
    D. Harel. Statecharts: A Visual Formalism for Complex Systems. Science of Computer Programming, 8:231--274, 1987.
    [11]
    M. Harman, S. Swift, and K. Mahdavi. An empirical study of the robustness of two module clustering fitness functions. In Genetic and Evolutionary Computation Conference, 2005.
    [12]
    M. Heimdahl and M. Whalen. Reduction and Slicing of Hierarchical State Machines. In Proceedings of the 6th European conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering (FSE'97), 1997.
    [13]
    V. I. Levenshtein. Binary codes capable of correcting deletions, insertions and reversals. Soviet Physics-Doklady No 8, 10:707--710, 1966.
    [14]
    H. Li, Y. Min, and Z. Li. Clustering of behavioral phases in FSMs and its applications to VLSI test. Science in China Series F: Information Sciences 45(6), 462--478. (2002), 2002.
    [15]
    B. Mitchell. A Heuristic Search Approach to Solving the Software Clustering Problem. PhD thesis, Drexel Universit, Philadelphia, PA, 2002.
    [16]
    B. Mitchell and S. Mancoridis. On the automatic modularization of software systems using the bunch tool. In IEEE Transactions on Software Engineering, 2006.
    [17]
    M. J. Rattigan, M. Maier, D. Jensen, B. Wu, X. Pei, J. Tan, and Y. Wang. Exploiting network structure for active inference in collective classification. In ICDM Workshops, pages 429--434, 2007.
    [18]
    M. E. Romera. Using finite automata to represent mental models. Master's thesis, San Jose State University, 2000.
    [19]
    N. Walkinshaw. Statechum project website.
    [20]
    N. Walkinshaw, K. Bogdanov, M. Holcombe, and S. Salahuddin. Reverse Engineering State Machines by Interactive Grammar Inference. In 14th IEEE International Working Conference on Reverse Engineering (WCRE), 2007.
    [21]
    N. Walkinshaw, J. Derrick, and Q. Guo. Iterative refinement of reverse-engineered models by model-based testing. In Proceedings of FM 2009: Formal Methods, volume 5850 of Lecture Notes in Computer Science, pages 305--320. Springer, 2009.
    [22]
    M. Weiser. Program Slicing. IEEE Transactions on Software Engineering, SE-10(4):352--357, July 1984.

    Cited By

    View all
    • (2020)Correctly Slicing Extended Finite State MachinesFrom Lambda Calculus to Cybersecurity Through Program Analysis10.1007/978-3-030-41103-9_6(149-197)Online publication date: 15-Feb-2020
    • (2011)Complexity metrics for hierarchical state machinesProceedings of the Third international conference on Search based software engineering10.5555/2042243.2042257(76-81)Online publication date: 10-Sep-2011
    • (2011)Search based hierarchy generation for reverse engineered state machinesProceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering10.1145/2025113.2025170(392-395)Online publication date: 5-Sep-2011
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    GECCO '10: Proceedings of the 12th annual conference on Genetic and evolutionary computation
    July 2010
    1520 pages
    ISBN:9781450300728
    DOI:10.1145/1830483
    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: 07 July 2010

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. bunch
    2. hill-climbing
    3. search-based clustering
    4. state machines

    Qualifiers

    • Research-article

    Conference

    GECCO '10
    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)2
    • Downloads (Last 6 weeks)0

    Other Metrics

    Citations

    Cited By

    View all
    • (2020)Correctly Slicing Extended Finite State MachinesFrom Lambda Calculus to Cybersecurity Through Program Analysis10.1007/978-3-030-41103-9_6(149-197)Online publication date: 15-Feb-2020
    • (2011)Complexity metrics for hierarchical state machinesProceedings of the Third international conference on Search based software engineering10.5555/2042243.2042257(76-81)Online publication date: 10-Sep-2011
    • (2011)Search based hierarchy generation for reverse engineered state machinesProceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering10.1145/2025113.2025170(392-395)Online publication date: 5-Sep-2011
    • (2011)Complexity Metrics for Hierarchical State MachinesSearch Based Software Engineering10.1007/978-3-642-23716-4_10(76-81)Online publication date: 2011

    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