Abstract
Requirement Specification is gaining increasingly attention as a critical phase of software systems development. As requirement descriptions evolve, they quickly become error-prone and difficult to understand. Therefore, the development of techniques and tools to support requirement specification development, understanding, testing, maintenance and reuse becomes an important issue. This paper extends the well-known technique of program slicing to Functional Requirement Specification based on the Use Case Map notation. This new application of slicing, called UCM Requirement Slicing is useful to aid requirement comprehension and maintenance. In contrast to traditional program slicing, requirement slicing is designed to operate on the requirement specification of a system, rather than the source code of a program. The resulting requirement slice provides knowledge about high-level structure of a system, rather than its low-level implementation details. In order to compute a UCM Requirement slice, we provide a three steps slicing algorithm.
Keywords
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Amyot, D., Eberlein, A.: An Evaluation of Scenario Notations and Construction Approaches for Telecommunication Systems Development. Telecommunications Systems Journal 24(1), 61–94 (2003)
Chang, J., Richardson, D.G.: Static and dynamic specification slicing. In: Proceedings of the Fourth Irvine Software Symposium (April 1994)
Cook, S.: The complexity of theorem proving procedures. In: Proc. 3rd ACM Symp. On Theory of Computing, pp. 151–158 (1971)
De Lucia, A.: Program slicing: Methods and applications. In: 1st IEEE International Workshop on Source Code Analysis and Manipulation, Florence, Italy, pp. 142–149. IEEE Computer Society Press, Los Alamitos (2001)
Gallagher, K.B., Lyle, J.R.: Using program slicing in software maintenance. IEEE Transactions on Software Engineering SE-17(8), 751–761 (1991)
Gu, J., Purdom, P.W., Franco, J., Wah, B.W.: Algorithms for satisfiability (SAT) problem: A survey. In: DIMACS Volume Series on Discrete Mathematics and Theoretical Computer Science (1996)
Heimdahl, M.P.E., Whalen, M.W.: 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, Zurich, Switzerland, pp. 450–467 (1997)
ITU-T, URN Focus Group (2002): Draft Rec. Z.152 - UCM: Use Case Map Notation (UCM). Geneva, http://www.UseCaseMaps.org/urn/
ITU-T: Recommendation Z.150 (02/03), User Requirements Notation (URN) - Language Requirements and Framework. International Telecommunication Union, Geneva
Korel, B., Laski, J.: Dynamic program slicing. Process. Letters 29(3), 155–163 (1988)
Korel, B., Singh, I., Tahat, L., Vaysburg, B.: Slicing of State-Based Models. In: Proceedings of the International Conference on Software Maintenance 2003. IEEE Computer Society, Washington (2003)
Miga, A., Amyot, D., Bordeleau, F., Cameron, C., Woodside, M.: Deriving Message Sequence Charts from Use Case Maps Scenario Specifications. In: Reed, R., Reed, J. (eds.) SDL 2001. LNCS, vol. 2078, pp. 268–287. Springer, Heidelberg (2001)
Millett, L., Teitelbaum, T.: Slicing Promela and its applications to model checking. In: Proceedings of the 4th International SPIN Workshop (1998)
Oda, T., Araki, K.: Specification slicing in formal methods of software engineering. In: Proceedings of the Seventeenth International Computer Software and Application Conference (November 1993)
Parnas, D.L., Madly, J., Iglewski, M.: Precise Documentations of Well-Structered Programs. IEEE Transactions on Software Engineering 20(12), 948–976 (1994)
Sloane, A.M., Holdsworth, J.: Beyond traditional program slicing. In: Zeil, S.J. (ed.) Proceedings of the 1996 International Symposium on Software Testing and Analysis, New York, January 1996, pp. 180–186. ACM Press, New York (1996)
Stafford, J.A., Wolf, A.L.: Architecture-Level Dependence Analysis in Support of Software Maintenance. In: Proceedings of the Third International Workshop on Software Architecture, November 1998, pp. 129–132 (1998)
Tip, T.: A survey of program slicing techniques. Journal of programming languages 3, 121–189 (1995)
Weiser, M.: Program slicing. IEEE Transactions on software Engineering, SE- 10(4), 352–357 (1984)
Zhao, J.: Applying slicing techniques to software architectures. In: 4th IEEE Int. Conf on Engineering of Complex Computer Systems, Monterey, California (1998); 5th European Conf. on Software Maintenance and Reengineering (CSMR 2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hassine, J., Dssouli, R., Rilling, J. (2005). Applying Reduction Techniques to Software Functional Requirement Specifications. In: Amyot, D., Williams, A.W. (eds) System Analysis and Modeling. SAM 2004. Lecture Notes in Computer Science, vol 3319. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31810-1_10
Download citation
DOI: https://doi.org/10.1007/978-3-540-31810-1_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-24561-2
Online ISBN: 978-3-540-31810-1
eBook Packages: Computer ScienceComputer Science (R0)