- Software System Performance and Reliability
- Software Engineering Research
- Advanced Software Engineering Methodologies
- Software Reliability and Analysis Research
- Cloud Computing and Resource Management
- Software Engineering Techniques and Practices
- Service-Oriented Architecture and Web Services
- Green IT and Sustainability
- Software Testing and Debugging Techniques
- Model-Driven Software Engineering Techniques
- Formal Methods in Verification
- Open Source Software Innovations
- Mobile Agent-Based Network Management
- Real-Time Systems Scheduling
- Modular Robots and Swarm Intelligence
- Business Process Modeling and Analysis
- Parallel Computing and Optimization Techniques
- IoT and Edge/Fog Computing
- Cardiovascular Function and Risk Factors
- Embedded Systems Design Techniques
- Spreadsheets and End-User Computing
- Energy Efficient Wireless Sensor Networks
- Cardiovascular Disease and Adiposity
- Advanced Multi-Objective Optimization Algorithms
- Scientific Computing and Data Management
University of L'Aquila
2016-2025
Microservices are quite widely impacting on the software industry in recent years. Rapid evolution and continuous deployment represent specific benefits of microservice-based systems, but they may have a significant impact non-functional properties like performance. Despite obvious relevance this property, there is still lack systematic approaches that explicitly take into account performance issues lifecycle systems. In such context re-deployment, Model-Driven Engineering techniques can...
Software architecture optimization aims to enhance non-functional attributes like performance and reliability while meeting functional requirements. Multi-objective employs metaheuristic search techniques, such as genetic algorithms, explore feasible architectural changes propose alternatives designers. However, this resource-intensive process may not always align with practical constraints. This study investigates the impact of designer interactions on multi-objective software optimization....
Abstract Microbenchmarking is a widely used form of performance testing in Java software. A microbenchmark repeatedly executes small chunk code while collecting measurements related to its performance. Due Virtual Machine optimizations, microbenchmarks are usually subject severe fluctuations the first phase their execution (also known as warmup). For this reason, software developers typically discard and focus analysis when benchmarks reach steady state Developers estimate end warmup based...
Refactoring aims at improving the maintainability of source code without modifying its external behavior. Previous works proposed approaches to recommend refactoring solutions software developers. The generation recommended is guided by metrics acting as proxy for (e.g., number smells removed solution). These ignore impact refactorings on other non-functional requirements, such performance, energy consumption, and so forth. Little known about operations requirements than maintainability. We...
Software quality estimation is a challenging and time-consuming activity, models are crucial to face the complexity of such activity on modern software applications. In this context, refactoring within development life-cycles where requirements functionalities rapidly evolve. One main challenge that improvement distinctive attributes may require contrasting actions software, as for trade-off between performance reliability (or other non-functional attributes). cases, multi-objective...
Model-Driven Engineering techniques may achieve a major support to the software development when they allow manage relationships between running system and its architectural model. These can be exploited for different goals, such as evolution due new functional requirements. In this paper, we define use that work performance improvement of system. particular, combine: (i) bidirectional model transformation framework tailored monitoring data an model, with (ii) technique detecting...
Software architecture refactoring can be induced by multiple reasons, such as satisfying new functional requirements or improving non-functional properties. Multi-objective optimization approaches have been widely used in the last few years to introduce automation process, and they revealed their potential especially when quantifiable attributes are targeted. However, effectiveness of heavily affected configuration characteristics algorithm, composition solutions. In this paper, we analyze...
Software model optimization is the task of automatically generate design alternatives, usually to improve quality aspects software that are quantifiable, like performance and reliability. In this context, multi-objective techniques have been applied help designer find suitable tradeoffs among several non-functional properties. process, alternatives can be generated through automated refactoring, evaluated on models. Due their complexity, type tasks require considerable time resources, often...
Multi-objective optimization has demonstrated, in the last few years, to be an effective paradigm tackle different architectural problems, such as service selection, composition and deployment. In particular, multi-objective approaches for searching configurations that optimize quality properties (such performance, reliability cost) have been introduced decade. However, a relevant amount of complexity is this context when performance are considered, often due expensive iterative generation...
The satisfaction of ever more stringent performance requirements is one the main reasons for software evolution. However, it complex to determine primary causes degradation, because they may depend on joint combination multiple factors (e.g., workload, deployment, hardware utilization). With increasing complexity systems, classical bottleneck analysis shows limitations in capturing problems. Hence, last decade, detection antipatterns has gained momentum as an effective way identify...
The continuous software engineering paradigm is gaining popularity in modern development practices, where the interleaving of design and runtime activities induced by evolution systems. In this context, performance assessment not easy, but recent studies have shown that architectural models evolving with can support goal. paper, we present a mapping study aimed at classifying existing scientific contributions deal for performance-targeted engineering. We applied systematic methodology to an...
Over the years, Software Quality Engineering has increased interest, demonstrated by significant research papers published in this area. Determining when a software artifact is qualitatively valid tricky, given impossibility of providing an objective definition for any perspective, context, or stakeholder. Many quality model solutions have been proposed that reference specific attributes context. However, these approaches do not consider context which artifacts will operate and stakeholder's...
Nowadays embedded systems are powerful and everywhere. They implement complex functionality relying on a huge set of different hardware software (HW/SW) architectures. In order to reduce their development effort, HW/SW Co-Design techniques used during the entire cycle. These aim at helping designers define feasible partitioning for system in such way that functional non-functional requirements fulfilled. this context Design Space Exploration is challenging activity since number...
Patterns and antipatterns represent powerful instruments in the hands of software designers, for improving quality systems. A large variety design patterns arose since decades, as well several performance have been defined. In this paper we propose a preliminary approach antipattern-based refactoring systems, driven by application. The is focused on artifacts (i.e., models, code) applying patterns, with aim removing possible occurring such artifacts. Based our approach, are ranked order to...
Software quality estimation is a challenging and time-consuming activity, models are crucial to face the complexity of such activity on modern software applications. One main challenge that improvement distinctive attributes may require contrasting refactoring actions an application, as for trade-off between performance reliability. In cases, multi-objective optimization can provide designer with wider view these trade-offs and, consequently, lead identify suitable take into account...
The estimation and improvement of quality attributes in software architectures is a challenging time-consuming activity. On modern applications, model-based representation crucial to face the complexity such One main challenge that distinctive may require contrasting refactoring actions on architecture, for instance when looking trade-off between performance reliability (or other non-functional attributes). In cases, multi-objective optimization can provide designer with more complete view...
As organizations increasingly migrate their applications to the cloud, optimization of microservices architectures becomes imperative for achieving sustainability goals. Nonetheless, sustainable deployments may increase costs and deteriorate performance, thus identification optimal tradeoffs among these conflicting requirements is a key objective not easy achieve. This paper introduces novel approach support cloud deployment by targeting combinations application costs, power consumption. By...