EvolveIT is a FRIPRO project aimed at devising automated techniques for the precise, scaleable, analysis of the impact of proposed changes on component-based product families. Moreover, the project will conceive novel automated recommendation technology that builds on the newly developed change impact analysis methods to guide software engineers during evolution and help them determine a cost-effective evolution strategy.
Many large-scale software-intensive systems are produced as instances of component-based product families, a known tactic to develop a portfolio of software products based on a collection of shared assets. However, sharing components between software products introduces dependencies that complicate maintenance and evolution: changes made in a component to address an issue in one product may have undesirable effects on other products in which the same component is used. Therefore, developers not only need to understand how a proposed change will impact the component and product at hand; they also need to understand how it affects the whole product family, including systems that are already deployed. Given that these systems contain thousands of components, it is no surprise that it is hard to reason about the impact on a single product, let alone on a complete product family. Conventional impact analysis techniques do not suffice for large-scale software-intensive systems and highly populated product families, and engineers need better support to conduct these tasks.
The overall goal of this project is to conceive novel recommendation technology that supports engineers with the evolution of families of complex, safety-critical, software-intensive systems. These recommendations are based on concrete evidence gathered from the software artifacts that need to be evolved. We achieve this goal by means of three scientific break-throughs:
- techniques to systematically reverse engineer abstract representations of software products and complete software product families from their development artifacts
- algorithms to conduct scaleable and precise change impact analysis (CIA) on representations of component-based product families
- novel recommendation technology that uses CIA results and constraint programming to find an evolution strategy that minimizes re-certification efforts
The Research Council of Norway: FRIPRO (FRINATEK)
Industrial collaboration with Kongsberg Maritime