Developing Sustainable and Energy-Efficient Software Systems
Book information
Description
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. Preface Contents 1 Concept and Principles of Measurement 1.1 Definitions 1.2 Meaning and Advantages 1.3 Representation Condition 1.4 Measurement Characteristics 1.5 Kinds of Metrics 1.6 Measurement Scales 1.7 Software Metrics 1.7.1 Lines of Code (LOC) 1.7.2 Cyclomatic Complexity 1.7.3 Fan In and Fan Out 1.7.4 Maintainability Index (MI) 1.7.5 Quality Metrics 1.7.5.1 Product Quality Metrics 1.7.5.2 Process Quality Metrics 1.8 Rationale for Noninvasive Measurement 1.9 Conclusion 2 Metrics of Sustainability and Energy Efficiency of Software Products and Process 2.1 Early-Phase Metrics 2.2 Late-Phase Metrics 2.3 Metrics of Energy Consumption 2.4 Conclusion 3 System Energy Consumption Measurement 3.1 Introduction 3.2 Energy Measurements Methods 3.2.1 Hardware Tools 3.2.2 Software Tools 3.2.3 Hybrid Tools 3.3 The Challenges of Estimating the Consumed Energy in Software Development 3.4 Machine Learning-Based Approach for Energy Consumption Measurement 3.4.1 Methodology 3.4.2 Data Collection 3.4.3 Data Preprocessing 3.4.4 Machine Learning Models 3.4.5 Performance Evaluation 3.4.6 Experimental Results 3.5 Conclusion 4 GQM and Recommender System for Relevant Metrics 4.1 Introduction 4.2 Concept of Goal-Question-Metric 4.3 The Goal-Question-Metric Process 4.4 Recommender Systems 4.5 Metrics Recommender 4.5.1 Dataset 4.5.2 Preprocessing 4.5.3 Recommender Algorithm 4.5.4 Conclusion 5 Metrics Representation and Dashboards 5.1 Literature Review 5.1.1 Review of Literature on Dashboards 5.1.2 Types of Dashboards 5.1.3 Purposes/Objectives of Dashboards 5.1.4 Visualization Methods of Dashboards 5.2 Methodology and Implementation 5.2.1 Innometrics Project 5.2.2 Visualization for Developers 5.2.3 Visualization for Managers 5.2.4 Common Visual and Functional Features 5.2.5 Architecture, Implementation 5.2.6 Conclusion 6 Architecture of AISEMA System 6.1 Data Collectors 6.1.1 Quality Attributes 6.1.2 Features 6.1.3 Internal Design 6.1.3.1 Graphic Interface 6.1.3.2 Data Collectors 6.1.3.3 Persistence Layer and API Controller 6.2 Backend System 6.2.1 Quality Attributes 6.2.2 Features 6.2.3 Internal Design 6.2.3.1 Main Server 6.2.3.2 Database 6.2.3.3 External Agents 6.3 Conclusion References
Similar books
Frontiers in Software Engineering: First International Conference, ICFSE 2021, Innopolis, Russia, June 17–18, 2021, Revised Selected Papers
2022 · PDF
Innopolis University - From Zero To Hero: Ten Years Of Challenges And Victories
2022 · PDF
Open Source Software: Quality Verification: 9th IFIP WG 2.13 International Conference, OSS 2013, Koper-Capodistria, Slovenia, June 25-28, 2013. Proceedings
2013 · PDF
Proceedings of 6th International Conference in Software Engineering for Defence Applications: SEDA 2018
2020 · PDF
Proceedings of 4th International Conference in Software Engineering for Defence Applications: SEDA 2015
2016 · PDF
Computational Intelligence and Quantitative Software Engineering
2016 · PDF
Open Source Software: Mobile Open Source Technologies: 10th IFIP WG 2.13 International Conference on Open Source Systems, OSS 2014, San José, Costa Rica, May 6-9, 2014. Proceedings
2014 · PDF
Open Source Software: Quality Verification: 9th IFIP WG 2.13 International Conference, OSS 2013, Koper-Capodistria, Slovenia, June 25-28, 2013. Proceedings
2013 · PDF