1. Supporting Change in Product Lines Within the Context of Use Case-driven Development and Testing
- Author
-
Ines Hajri, Fonds National de la Recherche - FnR [sponsor], Briand, Lionel [superviser], Goknil, Arda [superviser], Nejati, Shiva [president of the jury], Egyed, Alexander [member of the jury], Gnesi, stefania [member of the jury], Pastore, Fabrizio [member of the jury], Interdisciplinary Centre for Security, Reliability and Trust (SnT) > Software Verification and Validation Lab (SVV Lab) [research center], and IEE [sponsor]
- Subjects
Consistency Checking ,Engineering ,Product Line Engineering ,System testing ,Change Impact Analysis ,02 engineering and technology ,Change impact analysis ,Use Case-Driven Development ,Evolving Decisions ,Use Case Configurator ,Regression testing ,0202 electrical engineering, electronic engineering, information engineering ,Test Case Prioritization ,Product (category theory) ,Use-case analysis ,Test Case Classification ,Natural Language Processing ,Computer science [C05] [Engineering, computing & technology] ,business.industry ,020207 software engineering ,Domain model ,Sciences informatiques [C05] [Ingénierie, informatique & technologie] ,Regression Test Selection ,Systems engineering ,Change management (engineering) ,Domain engineering ,020201 artificial intelligence & image processing ,business ,Software engineering - Abstract
Product Line Engineering (PLE) is a crucial practice in many software development environments where systems are complex and developed for multiple customers with varying needs. At the same time, many business contexts are use case-driven where use cases are the main artifacts driving requirements elicitation and many other development activities. In these contexts, variability information is often not explicitly represented, which leads to ad-hoc change management for use cases, domain models and test cases in product families. In this thesis, we address the problems of modeling variability in requirements with additional traceability to feature models and the manual and error prone requirements configuration and regression testing in product families. We provide the following contributions: - A modeling method for capturing variability information in product line use case and domain models by relying exclusively on commonly used artifacts in use-case driven development, thus avoiding unnecessary modeling overhead. - An approach for automated configuration of product specific use case and domain models that guides customers in making configuration decisions and automatically generates use case diagrams, use case specifications, and domain models for configured products. - A change impact analysis approach for evolving configuration decisions in product line use case models that automatically identifies the impact of decision changes on other decisions, and incrementally reconfigures product specific use case diagrams and specifications for evolving decisions. - An approach for automated classification and prioritization of system test cases in a family of products that automatically classifies and prioritizes, for each new product, system test cases of previous product(s) in a product line, and provides guidance in modifying existing system test cases to cover new use case scenarios that have not been tested in the product line before. All our approaches have been developed and evaluated in close collaboration with our industry partner IEE.
- Published
- 2019