Skip to main content
CORDIS - Forschungsergebnisse der EU
CORDIS
CORDIS Web 30th anniversary CORDIS Web 30th anniversary

Software Development toolKit for Energy optimization and technical Debt elimination

Periodic Reporting for period 2 - SDK4ED (Software Development toolKit for Energy optimization and technical Debt elimination)

Berichtszeitraum: 2019-07-01 bis 2020-12-31

Imagine if your software was automatically optimized for specific quality requirements such as energy efficiency and dependability while managing Technical Debt (TD), where choosing an easy solution leads to additional rework along the line. The European Commission-funded project SDK4ED – Software Development Toolkit for Energy Optimization and Technical Debt Elimination – has provided a framework to do exactly that.

The overall objective of the SDK4ED project was to minimize cost, development time, and complexity of low-energy software development processes, by providing a specific platform for automatic optimization and trade-off calculation between various quality requirements, such as maintainability, energy consumption, and dependability. Investment in improving these qualities at the software-level is gaining more interest by the industry, as hardware improvements are usually more challenging and costlier to implement. Source code modifications that are typically applied to improve energy consumption or performance usually affect the design-time quality of the application, creating a financial overhead in future maintenance activities, commonly termed TD.

The developed SDK4ED platform with its associated toolboxes for monitoring individual quality attributes, refactoring, forecasting, and decision support capabilities provides complete and evidence-based support for software development companies. Using the platform, a development team will experience:
(a) improvement in software quality in terms of maintainability, dependability, and energy dissipation,
(b) increased software development productivity through integration of various monitors under the same infrastructure, and
(c) the establishment of a novel culture among software developers that promotes internal software qualities instead of focusing only on faster delivery.

Through its achievements, SDK4ED aims to increase TD awareness in the ES and low energy computing communities, thus reducing the maintenance and development costs of the associated software products.
In the first project period, all necessary actions were taken for developing the underpinning theoretical concepts and scientific pillars on which the envisaged SDK4ED platform is built. In particular, the project has delivered and revised in detail functional, quality, and hardware requirements, as well as the overall structure of the envisaged platform (WP2).

As part of the required theoretical technical work, the project defined, evaluated, and selected the main indicators for Technical Debt, Energy Consumption, and Dependability by both revising existing and inventing new ones (WP3). Concerning security indicators, we developed a set of innovative Security Assessment and Vulnerability Prediction Models for assessing the dependability of embedded software. On top of these, accurate forecasting models were created based on historical versioning data with the mission to predict how the three parameters, TD/Energy/Dependability, will most likely evolve, thus assisting project management decision-making.

As a part of quality optimization efforts (WP4), we proposed and evaluated the methodologies for TD, energy, and dependability optimizations. Finally, we investigated the most appropriate design space exploration techniques for handling multiple conflicting criteria between various qualities, leading to the formulation of the sound theoretical framework for the decision-support tool.

Regarding the implementation phase of the SDK4ED platform (WP5), a common micro-service-based strategy using Docker technology has been adopted. Regarding system integration (WP6), a commonly agreed integration and verification strategy were defined, and a set of collaborative tools, such as GitLab repository and continuous integration tools, such as Jenkins, were selected. An automated CI/CD pipeline was set up to support overall integration and testing workflow.

During the evaluation phase (WP7), the three pilot cases were successfully validated by all use case partners and several external users. The execution of the SDK4ED toolboxes on the pilot projects from three different domains for a considerable time proved its applicability and a potential for a broader impact.

Rich dissemination and communication activities (WP8) were carefully planned, and the Consortium has exceeded the target dissemination KPIs. The project has greatly impacted the software engineering scientific community and the relevant low-energy computing and ES industry, as evidenced by 38 conference publications, 21 journals, 19 presentations and invited talks, 8 exhibitions, 2 workshops, 2 tutorials and one press release. The Consortium has identified 9 functional bundles of exploitable assets, their potential path towards commercialization and ownership concerning IPR.
The SDK4ED promised to create a significant scientific and technological impact through innovation capacity in the areas of low-energy computing, HPC, and software engineering. To the best of our knowledge, the SDK4ED is the first platform that focuses on trade-offs between conflicting quality criteria by considering complex inter-relationships between design-time and run-time software qualities.

In particular, the project has:
• developed novel tools for optimizing the software development process through monitoring various quality aspects and minimizing the associated development costs for low-energy computing systems (by integrating all tools under a common platform, automating the analysis process and mitigating software inefficiencies which could lead to increased maintenance costs, energy dissipation and security vulnerabilities)
• defined effective and accurate TD indicators for object-oriented and non-object-oriented software systems, including Embedded Systems software
• defined novel indicators for security and dependability assessment of software through static source code analysis
• adapted forecasting techniques for preventing TD, energy consumption, and dependability issues
• provided new insights in terms of cost assessment and effort required to perform the suggested optimizations of design quality, energy consumption, and dependability
• instantiated techno-economic models for low-energy software engineers and developers, focusing on airborne, healthcare, and automotive industries.

SDK4ED reduces capital expenses for software development, deployment, and maintenance by providing an open-access platform, enabling integrated management of various quality attributes. End products developed through the SDK4ED platform will enjoy improved security, lower energy dissipation, and increased maintainability, thereby improving consumer and citizen experiences. The implemented SDK4ED platform leverages diverse technologies for applying a holistic approach for bridging various stakeholders’ needs for increased maintainability, energy-efficiency, and security. In terms of dependability and security, the corresponding dependability optimization toolbox assists in developing highly secure systems. The ability to check the security and dependability of software systems prior to their deployment, allowing for the mitigation of vulnerabilities along with the ability to obtain forecasts, can have a profound socioeconomic impact, preventing financial losses and reputational damage.
EFECS Virtual Booth 2020
SDK4ED concept
SDK4ED plenary meeting in Delft (June 2018)
SDK4ED technical session at CEISEE-2019
SDK4ED 4th Plenary Meeting (July 2019)
ICCSA2020 Best Paper Award
SDK4ED partners - kick-off meeting (Thessaloniki January 2018)
Keynote of prof. Chatzigeorgiou (UoM) on TD at SQAMIA 2018
SDK4ED booth at EFECS 2018
SDK4ED poster at UAV Paris exhibition 2018
SDK4ED workshop at HiPEAC 2020
SDK4ED poster at HiPeac 2019 exhibition in Valencia
SDK4ED poster at Opening Symposium of Bernoulli Institute