Control Dependence for Extended Finite State Machines

  • Kelly Androutsopoulos
  • David Clark
  • Mark Harman
  • Zheng Li
  • Laurence Tratt
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5503)


Though there has been nearly three decades of work on program slicing, there has been comparatively little work on slicing for state machines. One of the primary challenges that currently presents a barrier to wider application of state machine slicing is the problem of determining control dependence. We survey existing related definitions, introducing a new definition that subsumes one and extends another. We illustrate that by using this new definition our slices respect Weiser slicing’s termination behaviour. We prove results that clarify the relationships between our definition and older ones, following this up with examples to motivate the need for these differences.


extended finite state machines reactive systems control dependence slicing 


  1. [BH04]
    Binkley, D., Harman, M.: A survey of empirical results on program slicing. Advances in Computers 62, 105–178 (2004)CrossRefGoogle Scholar
  2. [CCD98]
    Canfora, G., Cimitile, A., De Lucia, A.: Conditioned program slicing. Information and Software Technology 40(11), 595–607 (1998)CrossRefGoogle Scholar
  3. [De 01]
    De Lucia, A.: Program slicing: Methods and applications. In: International Workshop on Source Code Analysis and Manipulation, pp. 142–149. IEEE Computer Society Press, Los Alamitos (2001)Google Scholar
  4. [GGRT06]
    Gaston, C., Le Gall, P., Rapin, N., Touil, A.: Symbolic execution techniques for test purpose definition. In: Uyar, M.Ü., Duale, A.Y., Fecko, M.A. (eds.) TestCom 2006. LNCS, vol. 3964, pp. 1–18. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  5. [Har87]
    Harel, D.: Statecharts: A visual formalism for complex systems. Science of Computer Programming 8(3), 231–274 (1987)MathSciNetCrossRefzbMATHGoogle Scholar
  6. [HBD03]
    Harman, M., Binkley, D., Danicic, S.: Amorphous program slicing. Journal of Systems and Software 68(1), 45–64 (2003)CrossRefGoogle Scholar
  7. [HRB90]
    Horwitz, S., Reps, T., Binkley, D.: Interprocedural slicing using dependence graphs. ACM Transactions on Programming Languages and Systems 12(1), 26–61 (1990)CrossRefGoogle Scholar
  8. [HTW98]
    Heimdahl, M.P.E., Thompson, J.M., Whalen, M.W.: On the effectiveness of slicing hierarchical state machines: A case study. In: EUROMICRO 1998: Proceedings of the 24th Conference on EUROMICRO, p. 10435. IEEE Computer Society, Washington (1998)Google Scholar
  9. [HW97]
    Heimdahl, M.P.E., Whalen, M.W.: Reduction and slicing of hierarchical state machines. In: Jazayeri, M. (ed.) ESEC 1997 and ESEC-FSE 1997. LNCS, vol. 1301, pp. 450–467. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  10. [Kam93]
    Kamkar, M.: Interprocedural dynamic slicing with applications to debugging and testing. PhD Thesis, Department of Computer Science and Information Science, Linköping University, Sweden (1993)Google Scholar
  11. [KSTV03]
    Korel, B., Singh, I., Tahat, L., Vaysburg, B.: Slicing of state-based models. In: Proceedings of the International Conference on Software Maintenance, pp. 34–43 (2003)Google Scholar
  12. [LG08]
    Labbé, S., Gallois, J.-P.: Slicing communicating automata specifications: polynomial algorithms for model reduction. Formal Aspects of Computing (2008)Google Scholar
  13. [LGP07]
    Labbe, S., Gallois, J.-P., Pouzet, M.: Slicing communicating automata specifications for efficient model reduction. In: Proceedings of ASWEC, pp. 191–200. IEEE Computer Society, Los Alamitos (2007)Google Scholar
  14. [LH07]
    Van Langenhove, S., Hoogewijs, A.: SVtL: System verification through logic tool support for verifying sliced hierarchical statecharts. In: Fiadeiro, J.L., Schobbens, P.-Y. (eds.) WADT 2006. LNCS, vol. 4409, pp. 142–155. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  15. [LHHR94]
    Leveson, N.G., Heimdahl, M.P.E., Hildreth, H., Reese, J.D.: Requirements Specification for Process-Control Systems. IEEE Transactions on Software Engineering 20(9), 684–706 (1994)CrossRefGoogle Scholar
  16. [RAB+05]
    Ranganath, V.P., Amtoft, T., Banerjee, A., Dwyer, M.B., Hatcliff, J.: A new foundation for control-dependence and slicing for modern program structures. In: Sagiv, M. (ed.) ESOP 2005. LNCS, vol. 3444, pp. 77–93. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  17. [RAB+07]
    Ranganath, V.P., Amtoft, T., Banerjee, A., Hatcliff, J., Dwyer, M.B.: A new foundation for control dependence and slicing for modern program structures. ACM Trans. Program. Lang. Syst. 29(5), 27 (2007)CrossRefzbMATHGoogle Scholar
  18. [SW99]
    Strobl, F., Wisspeintner, A.: Specification of an elevator control system – an autofocus case study. Technical Report TUM-I9906, Technische Universität München (1999)Google Scholar
  19. [Tip95]
    Tip, F.: A survey of program slicing techniques. Journal of Programming Languages 3(3), 121–189 (1995)Google Scholar
  20. [WDQ02]
    Wang, J., Dong, W., Qi, Z.-C.: Slicing hierarchical automata for model checking UML statecharts. In: George, C.W., Miao, H. (eds.) ICFEM 2002. LNCS, vol. 2495, pp. 435–446. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  21. [Wei81]
    Weiser, M.: Program slicing. In: 5th International Conference on Software Engineering, pp. 439–449, San Diego, CA (March 1981)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Kelly Androutsopoulos
    • 1
  • David Clark
    • 1
  • Mark Harman
    • 1
  • Zheng Li
    • 1
  • Laurence Tratt
    • 2
  1. 1.Department of Computer ScienceKing’s College London, StrandLondonUnited Kingdom
  2. 2.Bournemouth University, PooleDorsetUnited Kingdom

Personalised recommendations