skip to main content
research-article

State-based model slicing: A survey

Published:30 August 2013Publication History
Skip Abstract Section

Abstract

Slicing is a technique, traditionally applied to programs, for extracting the parts of a program that affect the values computed at a statement of interest. In recent years authors have begun to consider slicing at model level. We present a detailed review of existing work on slicing at the level of finite-state-machine-based models. We focus on state-based modeling notations because these have received sufficient attention from the slicing community that there is now a coherent body of hitherto unsurveyed work. We also identify the challenges that state-based slicing presents and how the existing literature has addressed these. We conclude by identifying problems that remain open either because of the challenges involved in addressing them or because the community simply has yet to turn its attention to solving them.

References

  1. Agrawal, H., Demillo, R. A., and Spafford, E. H. 1991. Dynamic slicing in the presence of unconstrained pointers. In Proceedings of the 4th ACM Symposium on Testing, Analysis, and Verification (TAV4'91). 60--73. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Agrawal, H. and Horgan, J. R. 1990. Dynamic program slicing. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation. 246--256. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Aho, A. V., Sethi, R., and Ullman, J. D. 1986. Compilers, Principles, Techniques, and Tools. Addison-Wesley, Pearson Education. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Alur, R. and Dill, D. L. 1990. Automata for modeling real-time systems. In Proceedings of the 17th International Colloquium on Automata, Languages and Programming. Springer, New York, 322--335. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Androutsopoulos, K., Binkley, D., Clark, D., Gold, N., Harman, M., Lano, K., and Li, Z. 2011. Model projection: Simplifying models in response to restricting the environment. In Proceedings of the 33rd International Conference on Software Engineering (ICSE'11). 291--300. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Androutsopoulos, K., Gold, N., Harman, M., Li, Z., and Tratt, L. 2009a. A theoretical and empirical study of efsm dependence. In Proceedings of the International Conference on Software Maintenance (ICSM'09).Google ScholarGoogle Scholar
  7. Androutsopoulos, K., Clark, D., Harman, M., Li, Z., and Tratt, L. 2009b. Control dependence for extended finite state machines. In Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering held in Conjunction with the European Conference Joint Conferences on the Theory and Practice of Software. Springer, 216--230. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Ball, T. and Horwitz, S. 1993. Slicing programs with arbitrary control--flow. In Proceedings of the 1st Conference on Automated Algorithmic Debugging. P. Fritzson, Ed., Springer, 206--222. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Binkley, D. 1998. The application of program slicing to regression testing. Inf. Softw. Technol. 40, 11, 583--594.Google ScholarGoogle ScholarCross RefCross Ref
  10. Binkley, D. and Gallagher, K. B. 1996. Program slicing. Adv. Comput. 43, 1--50.Google ScholarGoogle ScholarCross RefCross Ref
  11. Binkley, D. and Harman, M. 2003. A large-scale empirical study of forward and backward static slice size and context sensitivity. In Proceedings of the IEEE International Conference on Software Maintenance. IEEE Computer Society Press, 44--53. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Binkley, D. and Harman, M. 2004. A survey of empirical results on program slicing. Adv. Comput. 62, 105--178.Google ScholarGoogle ScholarCross RefCross Ref
  13. Binkley, D. and Harman, M. 2005. Forward slices are smaller than backward slices. In Proceedings of the 5th IEEE International Workshop on Source Code Analysis and Manipulation. IEEE Computer Society Press, 15--24. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Binkley, D., Harman, M., and Krinke, J. 2007. Empirical study of optimization techniques for massive slicing. ACM Trans. Program. Lang. Syst. 30, 1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Binkley, D., Horwitz, S., and Reps, T. 1995. Program integration for languages with procedure calls. ACM Trans. Softw. Engin. Methodol. 4, 1, 3--35. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Binkley, D. W. 2007. Source code analysis: A road map. In Proceedings of the Workshop on Future of Software Engineering (FOSE'07). L. Briand and A. Wolf, Eds., IEEE Computer Society Press, 104--119. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Bozga, M., Fernandez, J.-C., and Ghirvu, L. 2000. Using static analysis to improve automatic test generation. In Proceedings of the 6th International Conference on Tools and Algorithms for Construction and Analysis of Systems (TACAS'00). Springer, 235--250. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Bozga, M., Fernandez, J.-C., and Ghirvu, L. 2003. Using static analysis to improve automatic test generation. Int. J. Softw. Tools Technol. Transfer 4, 142--152.Google ScholarGoogle ScholarCross RefCross Ref
  19. Bozga, M., Fernandez, J.-C., Ghirvu, L., Graf, S., Pierre Krimm, J., Mounier, L., and Sifakis, J. 1999. If: An intermediate representation for sdl and its applications. In Proceedings of the SDL-Forum. Elsevier Science, 423--440.Google ScholarGoogle Scholar
  20. Canfora, G., Cimitile, A., and De Lucia, A. 1998. Conditioned program slicing. Inf. Softw. Technol. 40, 11, 595--607.Google ScholarGoogle ScholarCross RefCross Ref
  21. Chan, W., Anderson, R. J., Beame, P., and Notkin, D. 1998. Improving efficiency of symbolic model checking for state-based system requirements. SIGSOFT Softw. Engin. Not. 23, 2, 102--112. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Chan, W., Anderson, R. J., Beame, P., Notkin, D., Jones, D. H., and Warner, W. E. 2001. Optimizing symbolic model checking for statecharts. IEEE Trans. Softw. Engin. 27, 2, 170--190. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Clarke, E. M. and Emerson, E. A. 1982. Design and synthesis of synchronization skeletons using branching-time temporal logic. In Proceedings of the Workshop on Logic of Programs. Springer, 52--71. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Clarke, E. M., Grumberg, O., and Peled, D. A. 1999. Model Checking. CMIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Colangelo, D., Compare, D., Inverardi, P., and Pelliccione, P. 2006. Reducing software architecture models complexity: A slicing and abstraction approach. In Proceedings of the IFIP WG 6.1 International Conference on Formal Techniques for Networked and Distributed Systems (FORTE'06). Lecture Notes in Computer Science, vol. 4229, Springer, 243--258. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Corbett, J. C., Dwyer, M. B., Hatcliff, J., Laubach, S., Pasareanu, C. S., Robby, and Zheng, H. 2000. Bandera: Extracting finite-state models from java source code. In Proceedings of the 22nd International Conference on Software Engineering (ICSE'00). IEEE Computer Society Press, 439--448. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. De Lucia, A. 2001. Program slicing: Methods and applications. In Proceedings of the International Workshop on Source Code Analysis and Manipulation. IEEE Computer Society Press, 142--149.Google ScholarGoogle ScholarCross RefCross Ref
  28. Dong, W., Wang, J., Qi, X., and Qi, Z.-C. 2001. Model checking UML statecharts. In Proceedings of the 8th Asia-Pacific Software Engineering Conference. IEEE Computer Society, 363. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Dubrovin, J. 2006. Jumbala—An action language for uml state machines. Res. rep. HUT-TCSA101, Helsinki University of Technology, Laboratory for Theoretical Computer Science, Espoo, Finland.Google ScholarGoogle Scholar
  30. Dwyer, M. B., Hatcliff, J., Hoosier, M., Ranganath, V., and Wallentine, T. 2006. Evaluating the effectiveness of slicing for model reduction of concurrent object-oriented programs. In Proceedings of International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS'06). Springer, 73--89. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Ferrante, J., Ottenstein, K. J., and Warren, J. D. 1987. The program dependence graph and its use in optimization. ACM Trans. Program. Lang. Syst. 9, 3, 319--349. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Field, J., Ramalingam, G., and Tip, F. 1995. Parametric program slicing. In Proceedings of the 22nd ACM Symposium on Principles of Programming Languages. ACM Press, New York, 379--392. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Fox, C., Danicic, S., Harman, M., and Hierons, R. M. 2004. ConSIT: A fully automated conditioned program slicer. Softw. Pract. Exper. 34, 15--46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Fox, C., Harman, M., Hierons, R. M., and Danicic, S. 2001. Backward conditioning: A new program specialisation technique and its application to program comprehension. In Proceedings of the 9th IEEE International Workshop on Program Comprehension. IEEE Computer Society Press, 89--97. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Fox, C. and Luangsodsai, A. 2005. And-or dependence graphs for slicing statecharts. In Beyond Program Slicing. Internationales Begegnungs- und Forschungszentrum fuer Informatik (IBFI), Schloss Dagstuhl, Germany.Google ScholarGoogle Scholar
  36. Gallagher, K. B. and Lyle, J. R. 1991. Using program slicing in software maintenance. IEEE Trans. Softw. Engin. 17, 8, 751--761. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Ganapathy, V. and Ramesh, S. 2002. Slicing synchronous reactive programs. Electron. Notes Theor. Comput. Sci. 65, 5, 50--64.Google ScholarGoogle ScholarCross RefCross Ref
  38. Gaston, C., Gall, P. L., Rapin, N., and Touil, A. 2006. Symbolic execution techniques for test purpose definition. In Proceedings of the 18th IFIP TC6/WG6.1 International Conference on Testing of Communicating Systems (TestCom'06). Lecture Notes in Computer Science, vol. 3964, Springer, 1--18. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Grammatech Inc. 2002. The CodeSurfer slicing system. http://www.grammatech.com/.Google ScholarGoogle Scholar
  40. Guo, L. and Roychoudhury, A. 2008. Debugging statecharts via model-code traceability. In Proceedings of the 3rd International Symposium on Leveraging Applications of Formal Methods, Verification and Validation (ISoLA'08). Springer, 292--306.Google ScholarGoogle Scholar
  41. Gupta, R., Harrold, M. J., and Soffa, M. L. 1992. An approach to regression testing using slicing. In Proceedings of the IEEE Conference on Software Maintenance. IEEE Computer Society Press, 299--308.Google ScholarGoogle Scholar
  42. Gupta, R. and Soffa, M. L. 1995. Hybrid slicing: An approach for refining static slices using dynamic information. In Proceedings of 3rd ACM SIGSOFT Symposium on the Foundations of Software Engineering (SIGSOFT'95). 29--40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Hamon, G. 2005. A denotational semantics for stateflow. In Proceedings of the 5th ACM International Conference on Embedded Software (EMSOFT'05). ACM Press, New York, 164--172. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Harel, D. 1987. Statecharts: A visual formalism for complex systems. Sci. Comput. Program. 8, 3, 231--274. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Harel, D. and Kugler, H. 2004. The rhapsody semantics of statecharts (or, on the executable core of the UML). In Proceedings of the Priority Program SoftSpez of the German Research Foundation (DFG) on Integration of Software Specification Techniques for Applications in Engineering. Lecture Notes in Computer Science, vol. 3147, Springer, 325--354.Google ScholarGoogle ScholarCross RefCross Ref
  46. Harel, D. and Naamad, A. 1996. The statemate semantics of statecharts. ACM Trans. Softw. Engin. Methodol. 5, 4, 293--333. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Harman, M., Binkley, D., and Danicic, S. 2003. Amorphous program slicing. J. Syst. Softw. 68, 1, 45--64. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Harman, M. and Danicic, S. 1997. Amorphous program slicing. In Proceedings of the 5th IEEE International Workshop on Program Comprehesion (IWPC'97). IEEE Computer Society Press, 70--79. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Harman, M. and Danicic, S. 1998. A new algorithm for slicing unstructured programs. J. Softw. Maint. Evolut. 10, 6, 415--441. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Harman, M., Danicic, S., Sivagurunathan, Y., and Simpson, D. 1996. The next 700 slicing criteria. In Proceedings of the 2nd UK Workshop on Program Comprehension. M. Munro, Ed.Google ScholarGoogle Scholar
  51. Harman, M. and Hierons, R. M. 2001. An overview of program slicing. Softw. Focus 2, 3, 85--92.Google ScholarGoogle ScholarCross RefCross Ref
  52. Harman, M., Hierons, R. M., Danicic, S., Howroyd, J., and Fox, C. 2001. Pre/post conditioned slicing. In Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01). IEEE Computer Society Press, 138--147. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Harman, M., Hu, L., Hierons, R. M., Wegener, J., Sthamer, H., Baresel, A., and Roper, M. 2004. Testability transformation. IEEE Trans. Softw. Engin. 30, 1, 3--16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Hatcliff, J., Dwyer, M. B., and Zheng, H. 2000. Slicing software for model construction. Higher-Order Symbol. Comput. 13, 4, 315--353. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Heimdahl, M. P. E., Leveson, N., and Reese, J. D. 1996. Experiences and lessons from the analysis of TCAS II. SIGSOFT Softw. Engin. Notes 21, 3, 79--83. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Heimdahl, M. P. E. and Leveson, N. G. 1995. Completeness and consistency analysis of state-based requirements. In Proceedings of the 17th International Conference on Software Engineering. ACM Press, New York, 3--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Heimdahl, M. P. E., Thompson, J. M., and Whalen, M. W. 1998. On the effectiveness of slicing hierarchical state machines: A case study. In Proceedings of the 24th Euromicro Conference (EUROMICRO'98). IEEE Computer Society, 10435--10444. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. Heimdahl, M. P. E. and Whalen, M. W. 1997. Reduction and slicing of hierarchical state machines. In Proceedings of the 5th ACM SIGSOFT Symposium on the Foundations of Software Engineering. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. Holzmann, G. J. 1997. The model checker spin. IEEE Trans. Softw. Engin. 23, 279--295. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. Horwitz, S., Reps, T., and Binkley, D. 1990. Interprocedural slicing using dependence graphs. ACM Trans. Program. Lang. Syst. 12, 1, 26--61. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. Horwitz, S., Reps, T., Rosay, G., Das, M., Hasti, B., Lampert, J., Melski, D., Shapiro, M., Siff, M., Turnidge, T., Ball, T., Binkley, D., Barger, V., Bates, S., Bricker, T., Cai, J., Paige, R., Pfeiffer, P., Prins, J., Yang, W., Ramalingam, G., and Sagiv, M. 2000. Wisconsin program slicing project. http://www.cs.wisc.edu/wpis/html/.Google ScholarGoogle Scholar
  62. Hromkovic, J. and Schnitger, G. 2007. Comparing the size of NFAs with and without epsilontransitions. Theor. Comput. Sci. 380, 1--2, 100--114. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. Ilie, L. and Yu, S. 2003. Reducing nfas by invariant equivalences. Theor. Comput. Sci. 306, 1--3, 373--390. Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. Janowska, A. and Janowski, P. 2006. Slicing of timed automata with discrete data. Fundam. Informaticae 72, 1--3, 181--195. Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. Jhala, R. and Majumdar, R. 2005. Path slicing. SIGPLAN Not. 40, 6, 38--47. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. Knapp, A. and Merz, S. 2002. Model checking and code generation for UML state machines and collaborations. In Proceeding 5th Workshop on Tools for System Design and Verification (FM-Tools'02). D. Haneberg, G. Schellhorn, and W. Reif, Eds, 59--64.Google ScholarGoogle Scholar
  67. Komondoor, R. and Horwitz, S. 2000. Semantics-preserving procedure extraction. In Proceedings of the 27th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'00). ACM Press, New York, 155--169. Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. Korel, B. and Laski, J. 1988. Dynamic program slicing. Inf. Process. Lett. 29, 3, 155--163. Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. Korel, B., Singh, I., Tahat, L., and Vaysburg, B. 2003. Slicing of state based models. In Proceedings of the IEEE International Conference on Software Maintenance (ICSM'03). IEEE Computer Society Press, 34--43. Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. Krinke, J. 1998. Static slicing of threaded programs. In Proceedings of the ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE'98). ACM Press, New York, 35--42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. Kuck, D. J., Kuhn, R. H., Padua, D. A., Leasure, B., and Wolfe, M. 1981. Dependence graphs and compiler optimizations. In Proceedings of the 8th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'81). ACM Press, New York, 207--218. Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. Labbe, S. and Gallois, J.-P. 2008. Slicing communicating automata specifications: Polynomial algorithms for model reduction. Formal Aspects Comput. 20, 6, 563--595. Google ScholarGoogle ScholarCross RefCross Ref
  73. Labbe, S., Gallois, J.-P., and Pouzet, M. 2007. Slicing communicating automata specifications for efficient model reduction. In Proceedings of the 18th Australian Software Engineering Conference (ASWEC'07). IEEE Computer Society, 191--200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. Lakhotia, A. and Singh, P. 2003. Challenges in getting formal with viruses. Virus Bull. 9, 1, 14--18.Google ScholarGoogle Scholar
  75. Lamport, L. 1978. Time, clocks, and the ordering of events in a distributed system. Comm. ACM 21, 7, 558--565. Google ScholarGoogle ScholarDigital LibraryDigital Library
  76. Lamport, L. 1983. What good is temporal logic? In Proceedings of the 9th IFIP World Congress on Information Processing 83. R. E. A. Mason, Ed., 657--668.Google ScholarGoogle Scholar
  77. Langenhove, S. V. 2006. Towards the correctness of software behavior in uml: A model checking approach based on slicing. Ph.D. thesis, Ghent University. http://lib.ugent.be/fulltxt/RUG01/000/970/662/RUG01-000970662_2010_0001_AC.pdf.Google ScholarGoogle Scholar
  78. Langenhove, S. V. and Hoogewijs, A. 2007. SVtL: System verification through logic tool support for verifying sliced hierarchical statecharts. In Proceedings of the 18th International Workshop on Recent Trends in Algebraic Development Techniques. Lecture Notes in Computer Science, vol. 4409, Springer, 142--155. Google ScholarGoogle ScholarDigital LibraryDigital Library
  79. Lano, K. and Clark, D. 1999. Demonstrating preservation of safety properties in reactive control system development. In Proceedings of the 4th Australian Workshop on Industrial Experience with Safety Critical Systems and Software.Google ScholarGoogle Scholar
  80. Lano, K. and Kolahdouz-Rahimi, S. 2011. Slicing techniques for uml models. J. Object Technol. 10, 11:1--49.Google ScholarGoogle ScholarCross RefCross Ref
  81. Leveson, N., Heimdahl, M., Hildreth, H., and Reese, J. 1994. Requirements specification for process-control systems. IEEE Trans. Softw. Engin. 20, 9, 684--706. Google ScholarGoogle ScholarDigital LibraryDigital Library
  82. Maraninchi, F. 1991. The Argos language: graphical representation of automata and description of reactive systems. In IEEE Workshop on Visual Languages.Google ScholarGoogle Scholar
  83. Mealy, G. H. 1955. A method to synthesizing sequential circuits. Bell Syst. Tech. J. 34, 5, 1045--1075.Google ScholarGoogle ScholarCross RefCross Ref
  84. Millett, L. and Teitelbaum, T. 1998. Slicing promela and its applications to model checking. In Proceedings of the 4th International SPIN Workshop. 75--83.Google ScholarGoogle Scholar
  85. Millett, L. I. and Teitelbaum, T. 1999. Channel dependence analysis for slicing promela. In Proceedings of the International Symposium on Software Engineering for Parallel and Distributed Systems (PDSE'99). IEEE Computer Society, 52--61. Google ScholarGoogle ScholarDigital LibraryDigital Library
  86. Mock, M., Atkinson, D. C., Chambers, C., and Eggers, S. J. 2002. Improving program slicing with dynamic points-to data. In Proceedings of the 10th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE-02). ACM Press, New York, 71--80. Google ScholarGoogle ScholarDigital LibraryDigital Library
  87. Moore, E. F. 1956. Gedanken experiments on sequential machines. In Automata Studies, Princeton University Press, Princeton, NJ, 129--153.Google ScholarGoogle Scholar
  88. Muller-Olm, M., Schmidt, D., and Steffen, B. 1999. Model-checking: A tutorial introduction. In Proceedings of the 6th International Static Analysis Symposium. Vol. 1694, 331--354. Google ScholarGoogle ScholarDigital LibraryDigital Library
  89. Nobe, C. and Bingle, M. 1998. Model-based development: Five processes used at boeing. In Proceedings of the IEEE International Conference and Workshop: Engineering of Computer-Based Systems.Google ScholarGoogle Scholar
  90. Ojala, V. 2007. A slicer for UML state machines. Tech. rep. HUT-TCS-25, Helsinki University of Technology Laboratory for Theoretical Computer Science, Espoo, Finland.Google ScholarGoogle Scholar
  91. Omg. 2001. OMG unified modeling language specification 1.4. http://www.omg.org/cgi-bin/doc?formal/01-09-67.Google ScholarGoogle Scholar
  92. Ottenstein, K. J. and Ottenstein, L. M. 1984. The program dependence graph in software development environments. ACM/SIGPLAN Not. 19, 5, 177--184. Google ScholarGoogle ScholarDigital LibraryDigital Library
  93. Pelliccione, P., Muccini, H., Bucchiarone, A., and Facchini, F. 2005. Testor: Deriving test sequences from model-based specifications. In Proceedings of the 8th International SIGSOFT Symposium on Component Based Software Engineering. Lecture Notes in Computer Science, vol. 3489, Springer, 267--282. Google ScholarGoogle ScholarDigital LibraryDigital Library
  94. Praxis Ltd. 2008. The SPADE program analyser. http://docs.adacore.com/sparkdocs-docs/Checker_UM.htm.Google ScholarGoogle Scholar
  95. Ranganath, V. P., Amtoft, T., Banerjee, A., Hatcliff, J., and Dwyer, M. B. 2007. A new foundation for control dependence and slicing for modern program structures. ACM Trans. Program. Lang. Syst. 29, 5, 27. Google ScholarGoogle ScholarDigital LibraryDigital Library
  96. Silva, J. 2012. A vocabulary of program slicing-based techniques. ACM Comput. Surv. 44, 3, 12:1--12:41. Google ScholarGoogle ScholarDigital LibraryDigital Library
  97. Tip, F. 1995. A survey of program slicing techniques. J. Program. Lang. 3, 3, 121--189.Google ScholarGoogle Scholar
  98. Venkatesh, G. A. 1991. The semantic approach to program slicing. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'91). ACM Press, New York, 107--119. Google ScholarGoogle ScholarDigital LibraryDigital Library
  99. Wang, J., Dong, W., and Qi, Z.-C. 2002. Slicing hierarchical automata for model checking UML statecharts. In Proceedings of the 4th International Conference on Formal Engineering Methods (ICFEM'02). Springer, 435--446. Google ScholarGoogle ScholarDigital LibraryDigital Library
  100. Wang, T. and Roychoudhury, A. 2004. Using compressed byte code traces for slicing java programs. In Proceedings of the 26th International Conference on Software Engineering (ICSE'04). 512--521. Google ScholarGoogle ScholarDigital LibraryDigital Library
  101. Wang, T., Roychoudhury, A., and Guo, L. 2008. JSlice, version 2.0. http://jslice.sourceforge.net/.Google ScholarGoogle Scholar
  102. Ward, M. 2003. Slicing the scam mug: A case study in semantic slicing. In Proceedings of the IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'03). IEEE Computer Society Press, 88--97.Google ScholarGoogle ScholarCross RefCross Ref
  103. Ward, M. and Zedan, H. 2007. Slicing as a program transformation. ACM Trans. Program. Lang. Syst. 29, 2, 7. Google ScholarGoogle ScholarDigital LibraryDigital Library
  104. Weiser, M. 1979. Program slices: Formal, psychological, and practical investigations of an automatic program abstraction method. Ph.D. thesis, University of Michigan, Ann Arbor, MI. Google ScholarGoogle ScholarDigital LibraryDigital Library
  105. Xu, B., Qian, J., Zhang, X., Wu, Z., and Chen, L. 2005. A brief survey of program slicing. ACM SIGSOFT Softw. Engin. Not. 30, 2, 1--36. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. State-based model slicing: A survey

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM Computing Surveys
      ACM Computing Surveys  Volume 45, Issue 4
      August 2013
      490 pages
      ISSN:0360-0300
      EISSN:1557-7341
      DOI:10.1145/2501654
      Issue’s Table of Contents

      Copyright © 2013 ACM

      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]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 30 August 2013
      • Accepted: 1 August 2012
      • Revised: 1 July 2012
      • Received: 1 December 2010
      Published in csur Volume 45, Issue 4

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader