Automated Quality Assurance and Optimization in Incremental Industrial Software Systems Development
Dec. 01, 2021 to Dec. 31, 2024
Too often it is observed that as a system is being built and incremented with new features, certain quality aspects of the system begin to deteriorate. Therefore, it is important to be able to accurately analyze and determine the quality implications of each change and increment to a system. To address these challenges, SmartDelta builds automated solutions for quality assessment of product deltas in a continuous engineering environment by providing smart analytics from development artifacts and system execution, offering insights into quality improvements or degradation of different product versions, and providing recommendations for next builds.
Problems and Goals
Software is typically evolving, it gets updated over time with new features and bug fixes or it is deployed in different operational environments, for instance. Quality is a key factor for the long-term success of a company in the highly competitive market of industrial software-intensive products today. Nevertheless, often systems are built and incrementally developed further careless and hence quality aspects of the software begin to deteriorate. Therefore, it is important to be able to accurately analyze and determine the implications of each change and increment to a system, particularly in a continuous engineering context.
This is, however, a complicated problem to solve because:
i) most quality attributes are inter-dependent and cannot be addressed in isolation, for instance, adding more security features to a system can degrade its overall performance and also impact its energy consumption
ii) over time, companies end up having many different product versions and builds (including internal versions), tailored and customized for different customers, markets and regions, but each having different quality characteristics to analyse and test
iii) while at the same time, the size and complexity of the systems are also rapidly growing
iv) making the problem even more challenging under constant pressures to reduce development cost and time-to-market to be able to stay ahead of the competition.
To address the above challenges, SmartDelta will develop solutions for large-scale automated quality assurance and optimization in incremental development of industrial software-intensive systems. Towards this goal, SmartDelta will develop a set of tools and approaches as part of the SmartDelta framework in the following directions:
- Automated analysis solutions (e.g., based on AI/ML, model extraction, and pattern recognition) to identify and extract quality improvement or degradation trends from and across a set of existing/previous product versions and development artifacts.
- Techniques to identify the features, design decisions, and development artifacts causing quality degradation and deviation in a system.
- Static and dynamic verification and validation solutions, using techniques such as static code analysis, model-based test generation, test prioritization and selection, and mutation testing, to assess and ensure desired quality attributes of a system.
- Novel techniques for automated reuse analysis and design recommendation for next builds optimizing with respect to specific quality attributes such as performance.
- A set of innovative visualization solutions to illustrate software quality attributes, and their evolution and trend analysis results over different builds and versions.
About the project
SmartDelta is an international funded ITEA research project. The SmartDelta project consortium consists of 30 partners from 8 countries (Austria, Belgium, Canada, Finland, Germany, Spain, Sweden, Turkey). Industry partners provide use cases from various market sectors, including the Enterprise Software Development, e-Mobility, Railway, Banking & Finance, Telecommunication, Logistics and Personal mobility and Cybersecurity domains.