Grant: Collaborative Research and Development Grants
University of Waterloo
$165,344.00
Detection and Impact Analyses of Feature Interactions
EF 2019-20
Résumé
A common strategy for dealing with the complexity of large software systems is to decompose the system into smaller sub-systems that can be tackled more easily. Feature-based decomposition is a type of functional decomposition, in which features are units of functionality that can be considered, developed, and evolved independently. Because features provide distinct functionalities, they represent distinct development tasks that can be added incrementally, performed by separate teams in parallel, or outsourced to third-party vendors. Features may be optional or even tariffable, thereby allowing for mass customization of products through product-lining. The downside of feature-based decomposition is unexpected feature interactions, in which the actions of one feature interfere with those of another, leading to conflicts, emergent functional behaviours, and possibly artificial contagion to other features and systems.This project investigates four complementary analyses that enable efficient reasoning about feature interactions and feature evolution: (1) Lightweight static analyses that enable engineers to perform a system-wide analysis of all features, and identify potential feature interactions that can lead to safety hazards; (2) scalable dynamic analyses and (3) compositional code-level analyses that allow checking whether one feature implementation can be substituted for another without affecting the overall system behaviour; and (4) product-line analyses that enable engineers to analyze and verify multiple feature configurations simultaneously and efficiently, making it possible offer a larger selection of customized products to the public. The expected outcomes of the proposed work are a collection of computer-supported methods and techniques for analyzing potential and realized interactions among features expressed in different software-development artifacts. The tools will be evaluated with respect to their effectiveness in detecting interactions and their scalability to large software systems, and will be evaluated in part on software artifacts from our industrial partner.
Programme
Collaborative Research and Development Grants
Bénéficiaire
Emplacement
Ontario, Canada
Type de bénéficiaire
Academia
Type
Grant
Source
NSERC's Awards Data
Tel que publié
Application id
520531-2017
Name nom
Atlee, Joanne
Department département
Computer Science, David R. Cheriton School of
Organization id
33
Institution établissement
University of Waterloo
Province en
Ontario
Province fr
Ontario
Country en
CANADA
Country fr
CANADA
Fiscal year exercice financier
2019
Competition year année de concours
2017
Award amount
165344
Program id
CRDPJ
Program name en
Collaborative Research and Development Grants
Program name fr
Subventions de recherche et développement coopérative
Group en
RESEARCH PARTNERSHIPS
Group fr
PARTENARIATS DE RECHERCHE
Committee code
96
Committee name en
RPP Internal Decision Cttee
Committee name fr
Cté de décision interne - PPR
Area of application code
700
Area of application group en
Transportation systems and services
Area of application group fr
Services et systèmes de transport
Area of application en
Transportation systems and services
Area of application fr
Services et systèmes de transport
Research subject code
2706
Research subject group en
Information technology
Research subject group fr
Technologie de l'information
Research subject en
Software engineering
Research subject fr
Génie logiciel
Installment
inst:2 - 2
Partie
2
Nb partie
2
Application title
Detection and Impact Analyses of Feature Interactions
Keyword
NSERC
Application summary
A common strategy for dealing with the complexity of large software systems is to decompose the system into smaller sub-systems that can be tackled more easily. Feature-based decomposition is a type of functional decomposition, in which features are units of functionality that can be considered, developed, and evolved independently. Because features provide distinct functionalities, they represent distinct development tasks that can be added incrementally, performed by separate teams in parallel, or outsourced to third-party vendors. Features may be optional or even tariffable, thereby allowing for mass customization of products through product-lining. The downside of feature-based decomposition is unexpected feature interactions, in which the actions of one feature interfere with those of another, leading to conflicts, emergent functional behaviours, and possibly artificial contagion to other features and systems.This project investigates four complementary analyses that enable efficient reasoning about feature interactions and feature evolution: (1) Lightweight static analyses that enable engineers to perform a system-wide analysis of all features, and identify potential feature interactions that can lead to safety hazards; (2) scalable dynamic analyses and (3) compositional code-level analyses that allow checking whether one feature implementation can be substituted for another without affecting the overall system behaviour; and (4) product-line analyses that enable engineers to analyze and verify multiple feature configurations simultaneously and efficiently, making it possible offer a larger selection of customized products to the public. The expected outcomes of the proposed work are a collection of computer-supported methods and techniques for analyzing potential and realized interactions among features expressed in different software-development artifacts. The tools will be evaluated with respect to their effectiveness in detecting interactions and their scalability to large software systems, and will be evaluated in part on software artifacts from our industrial partner.