Applying Reduction Techniques to Software Functional Requirement Specifications Jameleddine Hassine 1 , Rachida Dssouli 2 , and Juergen Rilling 1 1 Department of Computer Science, Concordia University, Montreal , Canada {j hassin,rilling}@cs.concordia.ca 2 Concordia Institute for Information Systems Engineering, Montreal , Canada dssouli@ece.concordia.ca Abstract. Requirement Specification is gaining increasingly attention as a critical phase of software systems development. As requirement de- scriptions evolve, they quickly become error-prone and difficult to un- derstand. Thus, the development of techniques and tools to support requirement specification development, understanding, testing, mainte- nance and reuse becomes an important issue. This paper extends the well-known technique of program slicing to Functional Requirement Spec- ification based on Use Case Maps notation. This new application of slic- ing, called UCM Requirement Slicing is useful to aid requirement com- prehension and maintenance. In contrast to traditional program slicing, requirement slicing is designed to operate on the requirement specifi- cation of a system, rather than the source code of a program. The re- sulting 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. Key words: Functional requirement specification, program slicing, use case maps, comprehension, maintenance. 1 Introduction Over the last several years, requirements specification and engineering is gaining in importance, as part of the ongoing trend towards improving the software development and maintenance process. Requirement analysis is the first step in the development process, capturing the functionalities of systems, often in the form of scenarios and use cases. In the early stages of common development processes, system’s functionali- ties are captured in terms of scenarios and use cases. Scenario-driven approaches are widely accepted based on their intuitive syntax and semantics (Amyot and Eberlein [1] provide an extensive survey of scenario notations). Use Case Maps (UCMs), can be applied to capture and integrate functional requirements in terms of causal scenarios representing behavioural aspects at a higher level of abstraction, to provide the stakeholders with guidance and reasoning about the