-
Ten Years of Teaching Empirical Software Engineering in the context of Energy-efficient Software
Authors:
Ivano Malavolta,
Vincenzo Stoico,
Patricia Lago
Abstract:
In this chapter we share our experience in running ten editions of the Green Lab course at the Vrije Universiteit Amsterdam, the Netherlands. The course is given in the Software Engineering and Green IT track of the Computer Science Master program of the VU. The course takes place every year over a 2-month period and teaches Computer Science students the fundamentals of Empirical Software Engineer…
▽ More
In this chapter we share our experience in running ten editions of the Green Lab course at the Vrije Universiteit Amsterdam, the Netherlands. The course is given in the Software Engineering and Green IT track of the Computer Science Master program of the VU. The course takes place every year over a 2-month period and teaches Computer Science students the fundamentals of Empirical Software Engineering in the context of energy-efficient software. The peculiarity of the course is its research orientation: at the beginning of the course the instructor presents a catalog of scientifically relevant goals, and each team of students signs up for one of them and works together for 2 months on their own experiment for achieving the goal. Each team goes over the classic steps of an empirical study, starting from a precise formulation of the goal and research questions to context definition, selection of experimental subjects and objects, definition of experimental variables, experiment execution, data analysis, and reporting. Over the years, the course became well-known within the Software Engineering community since it led to several scientific studies that have been published at various scientific conferences and journals. Also, students execute their experiments using \textit{open-source tools}, which are developed and maintained by researchers and other students within the program, thus creating a virtuous community of learners where students exchange ideas, help each other, and learn how to collaboratively contribute to open-source projects in a safe environment.
△ Less
Submitted 8 July, 2024;
originally announced July 2024.
-
The More the Merrier? Navigating Accuracy vs. Energy Efficiency Design Trade-Offs in Ensemble Learning Systems
Authors:
Rafiullah Omar,
Justus Bogner,
Henry Muccini,
Patricia Lago,
Silverio Martínez-Fernández,
Xavier Franch
Abstract:
Background: Machine learning (ML) model composition is a popular technique to mitigate shortcomings of a single ML model and to design more effective ML-enabled systems. While ensemble learning, i.e., forwarding the same request to several models and fusing their predictions, has been studied extensively for accuracy, we have insufficient knowledge about how to design energy-efficient ensembles. O…
▽ More
Background: Machine learning (ML) model composition is a popular technique to mitigate shortcomings of a single ML model and to design more effective ML-enabled systems. While ensemble learning, i.e., forwarding the same request to several models and fusing their predictions, has been studied extensively for accuracy, we have insufficient knowledge about how to design energy-efficient ensembles. Objective: We therefore analyzed three types of design decisions for ensemble learning regarding a potential trade-off between accuracy and energy consumption: a) ensemble size, i.e., the number of models in the ensemble, b) fusion methods (majority voting vs. a meta-model), and c) partitioning methods (whole-dataset vs. subset-based training). Methods: By combining four popular ML algorithms for classification in different ensembles, we conducted a full factorial experiment with 11 ensembles x 4 datasets x 2 fusion methods x 2 partitioning methods (176 combinations). For each combination, we measured accuracy (F1-score) and energy consumption in J (for both training and inference). Results: While a larger ensemble size significantly increased energy consumption (size 2 ensembles consumed 37.49% less energy than size 3 ensembles, which in turn consumed 26.96% less energy than the size 4 ensembles), it did not significantly increase accuracy. Furthermore, majority voting outperformed meta-model fusion both in terms of accuracy (Cohen's d of 0.38) and energy consumption (Cohen's d of 0.92). Lastly, subset-based training led to significantly lower energy consumption (Cohen's d of 0.91), while training on the whole dataset did not increase accuracy significantly. Conclusions: From a Green AI perspective, we recommend designing ensembles of small size (2 or maximum 3 models), using subset-based training, majority voting, and energy-efficient ML algorithms like decision trees, Naive Bayes, or KNN.
△ Less
Submitted 3 July, 2024;
originally announced July 2024.
-
An Analysis of MLOps Architectures: A Systematic Map** Study
Authors:
Faezeh Amou Najafabadi,
Justus Bogner,
Ilias Gerostathopoulos,
Patricia Lago
Abstract:
Context. Despite the increasing adoption of Machine Learning Operations (MLOps), teams still encounter challenges in effectively applying this paradigm to their specific projects. While there is a large variety of available tools usable for MLOps, there is simultaneously a lack of consolidated architecture knowledge that can inform the architecture design. Objective. Our primary objective is to pr…
▽ More
Context. Despite the increasing adoption of Machine Learning Operations (MLOps), teams still encounter challenges in effectively applying this paradigm to their specific projects. While there is a large variety of available tools usable for MLOps, there is simultaneously a lack of consolidated architecture knowledge that can inform the architecture design. Objective. Our primary objective is to provide a comprehensive overview of (i) how MLOps architectures are defined across the literature and (ii) which tools are mentioned to support the implementation of each architecture component. Method. We apply the Systematic Map** Study method and select 43 primary studies via automatic, manual, and snowballing-based search and selection procedures. Subsequently, we use card sorting to synthesize the results. Results. We contribute (i) a categorization of 35 MLOps architecture components, (ii) a description of several MLOps architecture variants, and (iii) a systematic map between the identified components and the existing MLOps tools. Conclusion. This study provides an overview of the state of the art in MLOps from an architectural perspective. Researchers and practitioners can use our findings to inform the architecture design of their MLOps systems.
△ Less
Submitted 28 June, 2024;
originally announced June 2024.
-
A Road Less Travelled and Beyond: Towards a Roadmap for Integrating Sustainability into Computing Education
Authors:
Ana Moreira,
Ola Leifler,
Stefanie Betz,
Ian Brooks,
Rafael Capilla,
Vlad Constantin Coroama,
Leticia Duboc,
Joao Paulo Fernandes,
Rogardt Heldal,
Patricia Lago,
Ngoc-Thanh Nguyen,
Shola Oyedeji,
Birgit Penzenstadler,
Anne Kathrin Peters,
Jari Porras,
Colin C. Venters
Abstract:
Education for sustainable development has evolved to include more constructive approaches and a better understanding of what is needed to align education with the cultural, societal, and pedagogical changes required to avoid the risks posed by an unsustainable society. This evolution aims to lead us toward viable, equitable, and sustainable futures. However, computing education, including software…
▽ More
Education for sustainable development has evolved to include more constructive approaches and a better understanding of what is needed to align education with the cultural, societal, and pedagogical changes required to avoid the risks posed by an unsustainable society. This evolution aims to lead us toward viable, equitable, and sustainable futures. However, computing education, including software engineering, is not fully aligned with the current understanding of what is needed for transformational learning in light of our current challenges. This is partly because computing is primarily seen as a technical field, focused on industry needs. Until recently, sustainability was not a high priority for most businesses, including the digital sector, nor was it a prominent focus for higher education institutions and society.
Given these challenges, we aim to propose a research roadmap to integrate sustainability principles and essential skills into the crowded computing curriculum, nurturing future software engineering professionals with a sustainability mindset. We conducted two extensive studies: a systematic review of academic literature on sustainability in computing education and a survey of industry professionals on their interest in sustainability and desired skills for graduates. Using insights from these studies, we identified key topics for teaching sustainability, including core sustainability principles, values and ethics, systems thinking, impact measurement, soft skills, business value, legal standards, and advocacy. Based on these findings, we will develop recommendations for future computing education programs that emphasise sustainability.
The paper is accepted at the 2030 Software Engineering workshop, which is co-located with the FSE'24 conference.
△ Less
Submitted 27 June, 2024;
originally announced June 2024.
-
The Sustainability Assessment Framework Toolkit: A Decade of Modeling Experience
Authors:
Patricia Lago,
Nelly Condori Fernandez,
Iffat Fatima,
Markus Funke,
Ivano Malavolta
Abstract:
Software intensive systems play a crucial role in most, if not all, aspects of modern society. As such, both their sustainability and their role in supporting sustainable processes, must be realized by design. To this aim, the architecture of software intensive systems should be designed to support sustainability goals; and measured to understand how effectively they do so. In this paper, we prese…
▽ More
Software intensive systems play a crucial role in most, if not all, aspects of modern society. As such, both their sustainability and their role in supporting sustainable processes, must be realized by design. To this aim, the architecture of software intensive systems should be designed to support sustainability goals; and measured to understand how effectively they do so. In this paper, we present the Sustainability Assessment Framework (SAF) Toolkit -- a set of instruments that support architects and design decision makers in modeling sustainability as a software quality property. The SAF Toolkit is the result of our experience gained in over a decade of cases in collaboration with industrial partners. We illustrate the toolkit with examples stemming from various cases. We extract our lessons learned, and our current research and future plans to extend the SAF Toolkit for further architecture modeling and measurement.
△ Less
Submitted 2 May, 2024;
originally announced May 2024.
-
How to Sustainably Monitor ML-Enabled Systems? Accuracy and Energy Efficiency Tradeoffs in Concept Drift Detection
Authors:
Rafiullah Omar,
Justus Bogner,
Joran Leest,
Vincenzo Stoico,
Patricia Lago,
Henry Muccini
Abstract:
ML-enabled systems that are deployed in a production environment typically suffer from decaying model prediction quality through concept drift, i.e., a gradual change in the statistical characteristics of a certain real-world domain. To combat this, a simple solution is to periodically retrain ML models, which unfortunately can consume a lot of energy. One recommended tactic to improve energy effi…
▽ More
ML-enabled systems that are deployed in a production environment typically suffer from decaying model prediction quality through concept drift, i.e., a gradual change in the statistical characteristics of a certain real-world domain. To combat this, a simple solution is to periodically retrain ML models, which unfortunately can consume a lot of energy. One recommended tactic to improve energy efficiency is therefore to systematically monitor the level of concept drift and only retrain when it becomes unavoidable. Different methods are available to do this, but we know very little about their concrete impact on the tradeoff between accuracy and energy efficiency, as these methods also consume energy themselves.
To address this, we therefore conducted a controlled experiment to study the accuracy vs. energy efficiency tradeoff of seven common methods for concept drift detection. We used five synthetic datasets, each in a version with abrupt and one with gradual drift, and trained six different ML models as base classifiers. Based on a full factorial design, we tested 420 combinations (7 drift detectors * 5 datasets * 2 types of drift * 6 base classifiers) and compared energy consumption and drift detection accuracy.
Our results indicate that there are three types of detectors: a) detectors that sacrifice energy efficiency for detection accuracy (KSWIN), b) balanced detectors that consume low to medium energy with good accuracy (HDDM_W, ADWIN), and c) detectors that consume very little energy but are unusable in practice due to very poor accuracy (HDDM_A, PageHinkley, DDM, EDDM). By providing rich evidence for this energy efficiency tactic, our findings support ML practitioners in choosing the best suited method of concept drift detection for their ML-enabled systems.
△ Less
Submitted 30 April, 2024;
originally announced April 2024.
-
Balancing Progress and Responsibility: A Synthesis of Sustainability Trade-Offs of AI-Based Systems
Authors:
Apoorva Nalini Pradeep Kumar,
Justus Bogner,
Markus Funke,
Patricia Lago
Abstract:
Recent advances in artificial intelligence (AI) capabilities have increased the eagerness of companies to integrate AI into software systems. While AI can be used to have a positive impact on several dimensions of sustainability, this is often overshadowed by its potential negative influence. While many studies have explored sustainability factors in isolation, there is insufficient holistic cover…
▽ More
Recent advances in artificial intelligence (AI) capabilities have increased the eagerness of companies to integrate AI into software systems. While AI can be used to have a positive impact on several dimensions of sustainability, this is often overshadowed by its potential negative influence. While many studies have explored sustainability factors in isolation, there is insufficient holistic coverage of potential sustainability benefits or costs that practitioners need to consider during decision-making for AI adoption. We therefore aim to synthesize trade-offs related to sustainability in the context of integrating AI into software systems. We want to make the sustainability benefits and costs of integrating AI more transparent and accessible for practitioners.
The study was conducted in collaboration with a Dutch financial organization. We first performed a rapid review that led to the inclusion of 151 research papers. Afterward, we conducted six semi-structured interviews to enrich the data with industry perspectives. The combined results showcase the potential sustainability benefits and costs of integrating AI. The labels synthesized from the review regarding potential sustainability benefits were clustered into 16 themes, with "energy management" being the most frequently mentioned one. 11 themes were identified in the interviews, with the top mentioned theme being "employee wellbeing". Regarding sustainability costs, the review discovered seven themes, with "deployment issues" being the most popular one, followed by "ethics & society". "Environmental issues" was the top theme from the interviews. Our results provide valuable insights to organizations and practitioners for understanding the potential sustainability implications of adopting AI.
△ Less
Submitted 5 April, 2024;
originally announced April 2024.
-
Identifying architectural design decisions for achieving green ML serving
Authors:
Francisco Durán,
Silverio Martínez-Fernández,
Matias Martinez,
Patricia Lago
Abstract:
The growing use of large machine learning models highlights concerns about their increasing computational demands. While the energy consumption of their training phase has received attention, fewer works have considered the inference phase. For ML inference, the binding of ML models to the ML system for user access, known as ML serving, is a critical yet understudied step for achieving efficiency…
▽ More
The growing use of large machine learning models highlights concerns about their increasing computational demands. While the energy consumption of their training phase has received attention, fewer works have considered the inference phase. For ML inference, the binding of ML models to the ML system for user access, known as ML serving, is a critical yet understudied step for achieving efficiency in ML applications.
We examine the literature in ML architectural design decisions and Green AI, with a special focus on ML serving. The aim is to analyze ML serving architectural design decisions for the purpose of understanding and identifying them with respect to quality characteristics from the point of view of researchers and practitioners in the context of ML serving literature.
Our results (i) identify ML serving architectural design decisions along with their corresponding components and associated technological stack, and (ii) provide an overview of the quality characteristics studied in the literature, including energy efficiency.
This preliminary study is the first step in our goal to achieve green ML serving. Our analysis may aid ML researchers and practitioners in making green-aware architecture design decisions when serving their models.
△ Less
Submitted 12 February, 2024;
originally announced February 2024.
-
Expert-Driven Monitoring of Operational ML Models
Authors:
Joran Leest,
Claudia Raibulet,
Ilias Gerostathopoulos,
Patricia Lago
Abstract:
We propose Expert Monitoring, an approach that leverages domain expertise to enhance the detection and mitigation of concept drift in machine learning (ML) models. Our approach supports practitioners by consolidating domain expertise related to concept drift-inducing events, making this expertise accessible to on-call personnel, and enabling automatic adaptability with expert oversight.
We propose Expert Monitoring, an approach that leverages domain expertise to enhance the detection and mitigation of concept drift in machine learning (ML) models. Our approach supports practitioners by consolidating domain expertise related to concept drift-inducing events, making this expertise accessible to on-call personnel, and enabling automatic adaptability with expert oversight.
△ Less
Submitted 22 January, 2024;
originally announced January 2024.
-
A Synthesis of Green Architectural Tactics for ML-Enabled Systems
Authors:
Heli Järvenpää,
Patricia Lago,
Justus Bogner,
Grace Lewis,
Henry Muccini,
Ipek Ozkaya
Abstract:
The rapid adoption of artificial intelligence (AI) and machine learning (ML) has generated growing interest in understanding their environmental impact and the challenges associated with designing environmentally friendly ML-enabled systems. While Green AI research, i.e., research that tries to minimize the energy footprint of AI, is receiving increasing attention, very few concrete guidelines are…
▽ More
The rapid adoption of artificial intelligence (AI) and machine learning (ML) has generated growing interest in understanding their environmental impact and the challenges associated with designing environmentally friendly ML-enabled systems. While Green AI research, i.e., research that tries to minimize the energy footprint of AI, is receiving increasing attention, very few concrete guidelines are available on how ML-enabled systems can be designed to be more environmentally sustainable. In this paper, we provide a catalog of 30 green architectural tactics for ML-enabled systems to fill this gap. An architectural tactic is a high-level design technique to improve software quality, in our case environmental sustainability. We derived the tactics from the analysis of 51 peer-reviewed publications that primarily explore Green AI, and validated them using a focus group approach with three experts. The 30 tactics we identified are aimed to serve as an initial reference guide for further exploration into Green AI from a software engineering perspective, and assist in designing sustainable ML-enabled systems. To enhance transparency and facilitate their widespread use and extension, we make the tactics available online in easily consumable formats. Wide-spread adoption of these tactics has the potential to substantially reduce the societal impact of ML-enabled systems regarding their energy and carbon footprint.
△ Less
Submitted 15 December, 2023;
originally announced December 2023.
-
JavaScript Dead Code Identification, Elimination, and Empirical Assessment
Authors:
Ivano Malavolta,
Kishan Nirghin,
Gian Luca Scoccia,
Simone Romano,
Salvatore Lombardi,
Giuseppe Scanniello,
Patricia Lago
Abstract:
Web apps are built by using a combination of HTML, CSS, and JavaScript. While building modern web apps, it is common practice to make use of third-party libraries and frameworks, as to improve developers' productivity and code quality. Alongside these benefits, the adoption of such libraries results in the introduction of JavaScript dead code, i.e., code implementing unused functionalities. The co…
▽ More
Web apps are built by using a combination of HTML, CSS, and JavaScript. While building modern web apps, it is common practice to make use of third-party libraries and frameworks, as to improve developers' productivity and code quality. Alongside these benefits, the adoption of such libraries results in the introduction of JavaScript dead code, i.e., code implementing unused functionalities. The costs for downloading and parsing dead code can negatively contribute to the loading time and resource usage of web apps. The goal of our study is two-fold. First, we present Lacuna, an approach for automatically detecting and eliminating JavaScript dead code from web apps. The proposed approach supports both static and dynamic analyses, it is extensible and can be applied to any JavaScript code base, without imposing constraints on the coding style or on the use of specific JavaScript constructs. Secondly, by leveraging Lacuna we conduct an experiment to empirically evaluate the run-time overhead of JavaScript dead code in terms of energy consumption, performance, network usage, and resource usage in the context of mobile web apps. We applied Lacuna four times on 30 mobile web apps independently developed by third-party developers, each time eliminating dead code according to a different optimization level provided by Lacuna. Afterward, each different version of the web app is executed on an Android device, while collecting measures to assess the potential run-time overhead caused by dead code. Experimental results, among others, highlight that the removal of JavaScript dead code has a positive impact on the loading time of mobile web apps, while significantly reducing the number of bytes transferred over the network.
△ Less
Submitted 31 August, 2023;
originally announced August 2023.
-
Sustainability in Computing Education: A Systematic Literature Review
Authors:
A. -K. Peters,
R. Capilla,
V. C. Coroamă,
R. Heldal,
P. Lago,
O. Leifler,
A. Moreira,
J. P. Fernandes,
B. Penzenstadler,
J. Porras,
C. C. Venters
Abstract:
Research shows that the global society as organized today, with our current technological and economic system, is impossible to sustain. We are living in the Anthropocene, an era in which human activities in highly industrialized countries are responsible for overshooting several planetary boundaries, with poorer communities contributing least to the problems but being impacted the most. At the sa…
▽ More
Research shows that the global society as organized today, with our current technological and economic system, is impossible to sustain. We are living in the Anthropocene, an era in which human activities in highly industrialized countries are responsible for overshooting several planetary boundaries, with poorer communities contributing least to the problems but being impacted the most. At the same time, technical and economic gains fail to provide society at large with equal opportunities and improved quality of life. This paper describes approaches taken in computing education to address the issue of sustainability. It presents results of a systematic review of literature on sustainability in computing education. From a set of 572 publications extracted from six large digital libraries plus snowballing, we distilled and analyzed the 90 relevant primary studies. Using an inductive and deductive thematic analysis, we study 1) conceptions of sustainability, computing, and education, 2) implementations of sustainability in computing education, and 3) research on sustainability in computing education. We present a framework capturing learning objectives and outcomes as well as pedagogical methods for sustainability in computing education. These results can be mapped to existing standards and curricula in future work. We find that only a few of the articles engage with the challenges as calling for drastic systemic change, along with radically new understandings of computing and education. We suggest that future research should connect to the substantial body of critical theory such as feminist theory of science and technology. Existing research on sustainability in computing education may be considered as rather immature as the majority of articles are experience reports with limited empirical research.
△ Less
Submitted 17 May, 2023;
originally announced May 2023.
-
Sustainability Competencies and Skills in Software Engineering: An Industry Perspective
Authors:
Rogardt Heldal,
Ngoc-Thanh Nguyen,
Ana Moreira,
Patricia Lago,
Leticia Duboc,
Stefanie Betz,
Vlad C. Coroama,
Birgit Penzenstadler,
Jari Porras,
Rafael Capilla,
Ian Brooks,
Shola Oyedeji,
Colin C. Venters
Abstract:
Achieving the UN Sustainable Development Goals (SDGs) demands adequate levels of awareness and actions to address sustainability challenges. Software systems will play an important role in moving towards these targets. Sustainability skills are necessary to support the development of software systems and to provide sustainable IT-supported services for citizens. While there is a growing number of…
▽ More
Achieving the UN Sustainable Development Goals (SDGs) demands adequate levels of awareness and actions to address sustainability challenges. Software systems will play an important role in moving towards these targets. Sustainability skills are necessary to support the development of software systems and to provide sustainable IT-supported services for citizens. While there is a growing number of academic bodies, including sustainability education in engineering and computer science curricula, there is not yet comprehensive research on the competencies and skills required by IT professionals to develop such systems. This study aims to identify the industrial sustainability needs for education and training from software engineers' perspective. We conducted interviews and focus groups with experts from twenty-eight organisations with an IT division from nine countries to understand their interests, goals and achievements related to sustainability, and the skills and competencies needed to achieve their goals. Our findings show that organisations are interested in sustainability, both idealistically and increasingly for core business reasons. They seek to improve the sustainability of processes and products but encounter difficulties, like the trade-off between short-term financial profitability and long-term sustainability goals. To fill the gaps, they have promoted in-house training courses, collaborated with universities, and sent employees to external training. The acquired competencies make sustainability an integral part of software development. We conclude that educational programs should include knowledge and skills on core sustainability concepts, system thinking, soft skills, technical sustainability, sustainability impact and measurements, values and ethics, standards and legal aspects, and advocacy and lobbying.
△ Less
Submitted 2 May, 2023; v1 submitted 30 April, 2023;
originally announced May 2023.
-
The Eighteenth Data Release of the Sloan Digital Sky Surveys: Targeting and First Spectra from SDSS-V
Authors:
Andrés Almeida,
Scott F. Anderson,
Maria Argudo-Fernández,
Carles Badenes,
Kat Barger,
Jorge K. Barrera-Ballesteros,
Chad F. Bender,
Erika Benitez,
Felipe Besser,
Dmitry Bizyaev,
Michael R. Blanton,
John Bochanski,
Jo Bovy,
William Nielsen Brandt,
Joel R. Brownstein,
Johannes Buchner,
Esra Bulbul,
Joseph N. Burchett,
Mariana Cano Díaz,
Joleen K. Carlberg,
Andrew R. Casey,
Vedant Chandra,
Brian Cherinka,
Cristina Chiappini,
Abigail A. Coker
, et al. (129 additional authors not shown)
Abstract:
The eighteenth data release of the Sloan Digital Sky Surveys (SDSS) is the first one for SDSS-V, the fifth generation of the survey. SDSS-V comprises three primary scientific programs, or "Mappers": Milky Way Mapper (MWM), Black Hole Mapper (BHM), and Local Volume Mapper (LVM). This data release contains extensive targeting information for the two multi-object spectroscopy programs (MWM and BHM),…
▽ More
The eighteenth data release of the Sloan Digital Sky Surveys (SDSS) is the first one for SDSS-V, the fifth generation of the survey. SDSS-V comprises three primary scientific programs, or "Mappers": Milky Way Mapper (MWM), Black Hole Mapper (BHM), and Local Volume Mapper (LVM). This data release contains extensive targeting information for the two multi-object spectroscopy programs (MWM and BHM), including input catalogs and selection functions for their numerous scientific objectives. We describe the production of the targeting databases and their calibration- and scientifically-focused components. DR18 also includes ~25,000 new SDSS spectra and supplemental information for X-ray sources identified by eROSITA in its eFEDS field. We present updates to some of the SDSS software pipelines and preview changes anticipated for DR19. We also describe three value-added catalogs (VACs) based on SDSS-IV data that have been published since DR17, and one VAC based on the SDSS-V data in the eFEDS field.
△ Less
Submitted 6 July, 2023; v1 submitted 18 January, 2023;
originally announced January 2023.
-
Self-Adaptation in Industry: A Survey
Authors:
Danny Weyns,
Ilias Gerostathopoulos,
Nadeem Abbas,
Jesper Andersson,
Stefan Biffl,
Premek Brada,
Tomas Bures,
Amleto Di Salle,
Matthias Galster,
Patricia Lago,
Grace Lewis,
Marin Litoiu,
Angelika Musil,
Juergen Musil,
Panos Patros,
Patrizio Pelliccione
Abstract:
Computing systems form the backbone of many areas in our society, from manufacturing to traffic control, healthcare, and financial systems. When software plays a vital role in the design, construction, and operation, these systems are referred as software-intensive systems. Self-adaptation equips a software-intensive system with a feedback loop that either automates tasks that otherwise need to be…
▽ More
Computing systems form the backbone of many areas in our society, from manufacturing to traffic control, healthcare, and financial systems. When software plays a vital role in the design, construction, and operation, these systems are referred as software-intensive systems. Self-adaptation equips a software-intensive system with a feedback loop that either automates tasks that otherwise need to be performed by human operators or deals with uncertain conditions. Such feedback loops have found their way to a variety of practical applications; typical examples are an elastic cloud to adapt computing resources and automated server management to respond quickly to business needs. To gain insight into the motivations for applying self-adaptation in practice, the problems solved using self-adaptation and how these problems are solved, and the difficulties and risks that industry faces in adopting self-adaptation, we performed a large-scale survey. We received 184 valid responses from practitioners spread over 21 countries. Based on the analysis of the survey data, we provide an empirically grounded overview of state-of-the-practice in the application of self-adaptation. From that, we derive insights for researchers to check their current research with industrial needs, and for practitioners to compare their current practice in applying self-adaptation. These insights also provide opportunities for the application of self-adaptation in practice and pave the way for future industry-research collaborations.
△ Less
Submitted 6 November, 2022;
originally announced November 2022.
-
Sustainability in Software Architecture: A Systematic Map** Study
Authors:
Vasilios Andrikopoulos,
Rares-Dorian Boza,
Carlos Perales,
Patricia Lago
Abstract:
Sustainability is an increasingly-studied topic in software engineering in general, and in software architecture in particular. There are already a number of secondary studies addressing sustainability in software engineering, but no such study focusing explicitly on software architecture. This work aims to fill this gap by conducting a systematic map** study on the intersection between sustaina…
▽ More
Sustainability is an increasingly-studied topic in software engineering in general, and in software architecture in particular. There are already a number of secondary studies addressing sustainability in software engineering, but no such study focusing explicitly on software architecture. This work aims to fill this gap by conducting a systematic map** study on the intersection between sustainability and software architecture research with the intention of (i) reflecting on the current state of the art, and (ii) identifying the needs for further research. Our results show that, overall, existing works have focused disproportionately on specific aspects of sustainability, and in particular on the most technical and "inward facing" ones. This comes at the expense of the holistic perspective required to address a multi-faceted concern such as sustainability. Furthermore, more reflection-oriented research works, and better coverage of the activities in the architecting life cycle are required to further the maturity of the area. Based on our findings we then propose a research agenda for sustainability-aware software architecture.
△ Less
Submitted 25 April, 2022;
originally announced April 2022.
-
Preliminary Results of a Survey on the Use of Self-Adaptation in Industry
Authors:
Danny Weyns,
Ilias Gerostathopoulos,
Nadeem Abbas,
Jesper Andersson,
Stefan Biffl,
Premek Brada,
Tomas Bures,
Amleto Di Salle,
Patricia Lago,
Angelika Musil,
Juergen Musil,
Patrizio Pelliccione
Abstract:
Self-adaptation equips a software system with a feedback loop that automates tasks that otherwise need to be performed by operators. Such feedback loops have found their way to a variety of practical applications, one typical example is an elastic cloud. Yet, the state of the practice in self-adaptation is currently not clear. To get insights into the use of self-adaptation in practice, we are run…
▽ More
Self-adaptation equips a software system with a feedback loop that automates tasks that otherwise need to be performed by operators. Such feedback loops have found their way to a variety of practical applications, one typical example is an elastic cloud. Yet, the state of the practice in self-adaptation is currently not clear. To get insights into the use of self-adaptation in practice, we are running a large-scale survey with industry. This paper reports preliminary results based on survey data that we obtained from 113 practitioners spread over 16 countries, 62 of them work with concrete self-adaptive systems. We highlight the main insights obtained so far: motivations for self-adaptation, concrete use cases, and difficulties encountered when applying self-adaptation in practice. We conclude the paper with outlining our plans for the remainder of the study.
△ Less
Submitted 14 April, 2022;
originally announced April 2022.
-
Mining Energy-Related Practices in Robotics Software
Authors:
Michel Albonico,
Ivano Malavolta,
Gustavo Pinto,
Emitza Guzman,
Katerina Chinnappan,
Patricia Lago
Abstract:
Robots are becoming more and more commonplace in many industry settings. This successful adoption can be partly attributed to (1) their increasingly affordable cost and (2) the possibility of develo** intelligent, software-driven robots. Unfortunately, robotics software consumes significant amounts of energy. Moreover, robots are often battery-driven, meaning that even a small energy improvement…
▽ More
Robots are becoming more and more commonplace in many industry settings. This successful adoption can be partly attributed to (1) their increasingly affordable cost and (2) the possibility of develo** intelligent, software-driven robots. Unfortunately, robotics software consumes significant amounts of energy. Moreover, robots are often battery-driven, meaning that even a small energy improvement can help reduce its energy footprint and increase its autonomy and user experience. In this paper, we study the Robot Operating System (ROS) ecosystem, the de-facto standard for develo** and prototy** robotics software. We analyze 527 energy-related data points (including commits, pull-requests, and issues on ROS-related repositories, ROS-related questions on StackOverflow, ROS Discourse, ROS Answers, and the official ROS Wiki). Our results include a quantification of the interest of roboticists on software energy efficiency, 10 recurrent causes, and 14 solutions of energy-related issues, and their implied trade-offs with respect to other quality attributes. Those contributions support roboticists and researchers towards having energy-efficient software in future robotics projects.
△ Less
Submitted 25 March, 2021;
originally announced March 2021.
-
How do we Evaluate Self-adaptive Software Systems?
Authors:
Ilias Gerostathopoulos,
Thomas Vogel,
Danny Weyns,
Patricia Lago
Abstract:
With the increase of research in self-adaptive systems, there is a need to better understand the way research contributions are evaluated. Such insights will support researchers to better compare new findings when develo** new knowledge for the community. However, so far there is no clear overview of how evaluations are performed in self-adaptive systems. To address this gap, we conduct a mappin…
▽ More
With the increase of research in self-adaptive systems, there is a need to better understand the way research contributions are evaluated. Such insights will support researchers to better compare new findings when develo** new knowledge for the community. However, so far there is no clear overview of how evaluations are performed in self-adaptive systems. To address this gap, we conduct a map** study. The study focuses on experimental evaluations published in the last decade at the prime venue of research in software engineering for self-adaptive systems -- the International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS). Results point out that specifics of self-adaptive systems require special attention in the experimental process, including the distinction of the managing system (i.e., the target of evaluation) and the managed system, the presence of uncertainties that affect the system behavior and hence need to be taken into account in data analysis, and the potential of managed systems to be reused across experiments, beyond replications. To conclude, we offer a set of suggestions derived from our study that can be used as input to enhance future experiments in self-adaptive systems.
△ Less
Submitted 21 March, 2021;
originally announced March 2021.
-
A dataset for complex activity recognition withmicro and macro activities in a cooking scenario
Authors:
Paula Lago,
Shingo Takeda,
Sayeda Shamma Alia,
Kohei Adachi,
Brahim Bennai,
Francois Charpillet,
Sozo Inoue
Abstract:
Complex activity recognition can benefit from understanding the steps that compose them. Current datasets, however, are annotated with one label only, hindering research in this direction. In this paper, we describe a new dataset for sensor-based activity recognition featuring macro and micro activities in a cooking scenario. Three sensing systems measured simultaneously, namely a motion capture s…
▽ More
Complex activity recognition can benefit from understanding the steps that compose them. Current datasets, however, are annotated with one label only, hindering research in this direction. In this paper, we describe a new dataset for sensor-based activity recognition featuring macro and micro activities in a cooking scenario. Three sensing systems measured simultaneously, namely a motion capture system, tracking 25 points on the body; two smartphone accelerometers, one on the hip and the other one on the forearm; and two smartwatches one on each wrist. The dataset is labeled for both the recipes (macro activities) and the steps (micro activities). We summarize the results of a baseline classification using traditional activity recognition pipelines. The dataset is designed to be easily used to test and develop activity recognition approaches.
△ Less
Submitted 18 June, 2020;
originally announced June 2020.
-
Achieving Single-Sensor Complex Activity Recognition from Multi-Sensor Training Data
Authors:
Paula Lago,
Moe Matsuki,
Sozo Inoue
Abstract:
In this study, we propose a method for single sensor-based activity recognition, trained with data from multiple sensors. There is no doubt that the performance of complex activity recognition systems increases when we use enough sensors with sufficient quality, however using such rich sensors may not be feasible in real-life situations for various reasons such as user comfort, privacy, battery-pr…
▽ More
In this study, we propose a method for single sensor-based activity recognition, trained with data from multiple sensors. There is no doubt that the performance of complex activity recognition systems increases when we use enough sensors with sufficient quality, however using such rich sensors may not be feasible in real-life situations for various reasons such as user comfort, privacy, battery-preservation, and/or costs. In many cases, only one device such as a smartphone is available, and it is challenging to achieve high accuracy with a single sensor, more so for complex activities. Our method combines representation learning with feature map** to leverage multiple sensor information made available during training while using a single sensor during testing or in real usage. Our results show that the proposed approach can improve the F1-score of the complex activity recognition by up to 17\% compared to that in training while utilizing the same sensor data in a new user scenario.
△ Less
Submitted 25 February, 2020;
originally announced February 2020.
-
The case of NGC 6302: The impact of shocks in the derivation of Nitrogen abundances
Authors:
P. J. A. Lago,
R. D. D. Costa,
M. Faúndez-Abans,
W. J. Maciel
Abstract:
High nitrogen abundance is characteristic of Type I planetary nebulae as well as their highly filamentary structure. In the present work we test the hypothesis of shocks as a relevant excitation mechanism for a Type-I nebula, NGC 6302, using recently released diagnostic diagrams to distinguish shocks from photoexcitation. The construction of diagrams depends on emission line ratios and kinematical…
▽ More
High nitrogen abundance is characteristic of Type I planetary nebulae as well as their highly filamentary structure. In the present work we test the hypothesis of shocks as a relevant excitation mechanism for a Type-I nebula, NGC 6302, using recently released diagnostic diagrams to distinguish shocks from photoexcitation. The construction of diagrams depends on emission line ratios and kinematical information. NGC 6302 shows the relevance of shocks in peripheral regions and the importance to the whole nebula. Using shocks, we question the usual assumption of ICF calculation, justifying a warning to broadly used abundance derivation methods. From a kinematical analysis, we derive a new distance for NGC 6302 of $805\pm143\,$ pc.
△ Less
Submitted 21 August, 2019;
originally announced August 2019.
-
Reducing the Effort for Systematic Reviews in Software Engineering
Authors:
Francesco Osborne,
Henry Muccini,
Patricia Lago,
Enrico Motta
Abstract:
Context. Systematic Reviews (SRs) are means for collecting and synthesizing evidence from the identification and analysis of relevant studies from multiple sources. To this aim, they use a well-defined methodology meant to mitigate the risks of biases and ensure repeatability for later updates. SRs, however, involve significant effort. Goal. The goal of this paper is to introduce a novel methodolo…
▽ More
Context. Systematic Reviews (SRs) are means for collecting and synthesizing evidence from the identification and analysis of relevant studies from multiple sources. To this aim, they use a well-defined methodology meant to mitigate the risks of biases and ensure repeatability for later updates. SRs, however, involve significant effort. Goal. The goal of this paper is to introduce a novel methodology that reduces the amount of manual tedious tasks involved in SRs while taking advantage of the value provided by human expertise. Method. Starting from current methodologies for SRs, we replaced the steps of keywording and data extraction with an automatic methodology for generating a domain ontology and classifying the primary studies. This methodology has been applied in the Software Engineering sub-area of Software Architecture and evaluated by human annotators. Results. The result is a novel Expert-Driven Automatic Methodology, EDAM, for assisting researchers in performing SRs. EDAM combines ontology-learning techniques and semantic technologies with the human-in-the-loop. The first (thanks to automation) fosters scalability, objectivity, reproducibility and granularity of the studies; the second allows tailoring to the specific focus of the study at hand and knowledge reuse from domain experts. We evaluated EDAM on the field of Software Architecture against six senior researchers. As a result, we found that the performance of the senior researchers in classifying papers was not statistically significantly different from EDAM. Conclusions. Thanks to automation of the less-creative steps in SRs, our methodology allows researchers to skip the tedious tasks of keywording and manually classifying primary studies, thus freeing effort for the analysis and the discussion.
△ Less
Submitted 19 August, 2019;
originally announced August 2019.
-
The History of Software Architecture - In the Eye of the Practitioner
Authors:
Henry Muccini,
Patricia Lago,
Karthik Vaidyanathan,
Francesco Osborne,
Eltjo Poort
Abstract:
Software architecture (SA) is celebrating 25 years. This is so if we consider the seminal papers establishing SA as a distinct discipline and scientific publications that have identified cornerstones of both research and practice, like architecture views, architecture description languages, and architecture evaluation. With the pervasive use of cloud provisioning, the dynamic integration of multi-…
▽ More
Software architecture (SA) is celebrating 25 years. This is so if we consider the seminal papers establishing SA as a distinct discipline and scientific publications that have identified cornerstones of both research and practice, like architecture views, architecture description languages, and architecture evaluation. With the pervasive use of cloud provisioning, the dynamic integration of multi-party distributed services, and the steep increase in the digitalization of business and society, making sound design decisions encompasses an increasingly-large and complex problem space. The role of SA is essential as never before, so much so that no organization undertakes `serious' projects without the support of suitable architecture practices. But, how did SA practice evolve in the past 25 years? and What are the challenges ahead? There have been various attempts to summarize the state of research and practice of SA. Still, we miss the practitioners' view on the questions above. To fill this gap, we have first extracted the top-10 topics resulting from the analysis of 5,622 scientific papers. Then, we have used such topics to design an online survey filled out by 57 SA practitioners with 5 to 20+ years of experience. We present the results of the survey with a special focus on the SA topics that SA practitioners perceive, in the past, present and future, as the most impactful. We finally use the results to draw preliminary takeaways.
△ Less
Submitted 11 June, 2018;
originally announced June 2018.
-
Report on the Fourth Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE4)
Authors:
Daniel S. Katz,
Kyle E. Niemeyer,
Sandra Gesing,
Lorraine Hwang,
Wolfgang Bangerth,
Simon Hettrick,
Ray Idaszak,
Jean Salac,
Neil Chue Hong,
Santiago Núñez Corrales,
Alice Allen,
R. Stuart Geiger,
Jonah Miller,
Emily Chen,
Anshu Dubey,
Patricia Lago
Abstract:
This report records and discusses the Fourth Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE4). The report includes a description of the keynote presentation of the workshop, the mission and vision statements that were drafted at the workshop and finalized shortly after it, a set of idea papers, position papers, experience papers, demos, and lightning talks, and a pa…
▽ More
This report records and discusses the Fourth Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE4). The report includes a description of the keynote presentation of the workshop, the mission and vision statements that were drafted at the workshop and finalized shortly after it, a set of idea papers, position papers, experience papers, demos, and lightning talks, and a panel discussion. The main part of the report covers the set of working groups that formed during the meeting, and for each, discusses the participants, the objective and goal, and how the objective can be reached, along with contact information for readers who may want to join the group. Finally, we present results from a survey of the workshop attendees.
△ Less
Submitted 18 May, 2017; v1 submitted 7 May, 2017;
originally announced May 2017.
-
NGC 2440 : A morpho-kinematical model
Authors:
Paulo J. A. Lago,
Roberto D. D. Costa
Abstract:
This work describes the modelling of the 3D structure and position-velocity (P-V) diagrams of NGC 2440, a well known planetary nebula, aiming to describe the morphology of this object, specially its core. We have used high resolution spectra and P-V diagrams to reproduce the 3D structure of the nebula using SHAPE, a software that allows 3D modelling. HST high angular resolution images were used as…
▽ More
This work describes the modelling of the 3D structure and position-velocity (P-V) diagrams of NGC 2440, a well known planetary nebula, aiming to describe the morphology of this object, specially its core. We have used high resolution spectra and P-V diagrams to reproduce the 3D structure of the nebula using SHAPE, a software that allows 3D modelling. HST high angular resolution images were used as reference to the model.
The observational data point to a segmented core, and the simulations confirm this assumption; the best model for the nebula is a torus segmented in three pieces. The simulated P-V diagrams agree with the observations. We suggest that the torus was torn apart by interaction with the surrounding medium, either as winds or the radiation field.
For the two bipolar lobes, orientation angles to the plane of the sky of $27\pm$5 and $-5\pm3$ degrees, respectively for the bipolar components with PA of 85 and 35 degrees, were derived. No additional bipolar lobes were required to model the observed features of NGC 2440. A distance of $1.8 \pm 0.5$ kpc was derived for the nebula using our velocity field for the toroidal structure. These results are the first derived for NGC 2440 from modelling in a 3D environment.
△ Less
Submitted 3 June, 2016;
originally announced June 2016.