Skip to main content

Open Access 2023 | Open Access | Book

Cover of the book

Developing Sustainable and Energy-Efficient Software Systems


About this book

This open access book provides information how to choose and collect the appropriate metrics for a software project in an organization. There are several kinds of metrics, based on the analysis of source code and developed for different programming paradigms such as structured programming and object-oriented programming (OOP). This way, the book follows three main objectives: (i) to identify existing and easily-collectible measures, if possible in the early phases of software development, for predicting and modeling both the traditional attributes of software systems and attributes specifically related to their efficient use of resources, and to create new metrics for such purposes; (ii) to describe ways to collect these measures during the entire lifecycle of a system, using minimally-invasive monitoring of design-time processes, and consolidate them into conceptual frameworks able to support model building by using a variety of approaches, including statistics, data mining and computational intelligence; and (iii) to present models and tools to support design time evolution of systems based on design-time measures and to empirically validate them.

The book provides researchers and advanced professionals with methods for understanding the full implications of alternative choices and their relative attractiveness in terms of enhancing system resilience. It also explores the simultaneous use of multiple models that reflect different system interpretations or stakeholder perspectives.

Table of Contents


Open Access

Chapter 1. Concept and Principles of Measurement
Measurement is the fundamental mechanism of scientific study and development which allows to understand what is happening and why, and becomes critical for estimating progress, quality control, and productivity assessment throughout a software project. In this section basic principles of measurement and general software development metrics are discussed.
Giancarlo Succi, Artem Kruglov

Open Access

Chapter 2. Metrics of Sustainability and Energy Efficiency of Software Products and Process
The early measuring of the software process attributes increases the chances of the software being cost-effective and energy-efficient. However, some of the crucial metrics are accessible only during the latter stages. Therefore, the set of measurements through the whole SDLC should be considered to evaluate the software development process attributes and lead the project to success. This chapter demonstrates the division of SDLC phases into early and late ones, different software quality evaluation methodologies, and a set of measurements.
Artem Kruglov, Giancarlo Succi, Zamira Kholmatova

Open Access

Chapter 3. System Energy Consumption Measurement
Over the years, the task to reduce energy consumed by a system has been mainly assigned to computer hardware developers. This is mainly because it is believed that the hardware is the principal component that consumes more electrical energy. However, the software also plays a vital role in power usage. Hardware works hand in hand with software programs. It has become equally important to estimate the energy consumed as a whole using artificial intelligence-based approaches. Machine learning is presented as one of the scalable approaches toward efficiently and accurately estimating energy consumed in the software development domain.
Artem Kruglov, Giancarlo Succi, Gcinizwe Dlamini

Open Access

Chapter 4. GQM and Recommender System for Relevant Metrics
Any software project needs metrics to measure closeness to the goal. However, it is a complicated task to identify appropriate and goal-focused metrics by hand. That is why this chapter presents the GQM-based metrics recommender—a recommender system that can automatically deduce metrics from the project goals and questions.
Artem Kruglov, Giancarlo Succi, Anna Gorb

Open Access

Chapter 5. Metrics Representation and Dashboards
This section is dedicated to reviewing dashboards for various roles, such as developers and managers, to provide metrics for software development in the most appropriate way. After reviewing various papers, different types, objectives, and visualization features of the dashboards were found. Based on these findings, tailored visualization was designed for the distinct roles of users. Furthermore, the dashboard was implemented within the Innometrics project boundaries with easily maintainable and extensible architecture on the front-end.
Artem Kruglov, Giancarlo Succi, Idel Ishbaev

Open Access

Chapter 6. Architecture of AISEMA System
Over time, the data collection process has evolved from manual data collection to automated mechanisms where human intervention is minimal and therefore has minimal impact on work processes. In this section, we describe the main components that should be included in the design of an automated in-process software engineering measurement and analysis (AISEMA) system.
Artem Kruglov, Giancarlo Succi, Xavier Vasquez
Developing Sustainable and Energy-Efficient Software Systems
Artem Kruglov
Giancarlo Succi
Copyright Year
Electronic ISBN
Print ISBN

Premium Partner