29 citations · 151 across the 34 of their papers we have counts for
41 papers
E-Test: E'er-Improving Test Suites
Ketai Qiu, Luca Di Grazia, Leonardo Mariani +1
Test suites are inherently imperfect, and testers can always enrich a suite with new test cases that improve its quality and, consequently, the reliability of the target software s…
Automated Probe Life-Cycle Management for Monitoring-as-a-Service
Alessandro Tundo, Marco Mobilio, Oliviero Riganelli +1
Cloud services must be continuously monitored to guarantee that misbehaviors can be timely revealed, compensated, and fixed. While simple applications can be easily monitored and c…
An Energy-Aware Approach to Design Self-Adaptive AI-based Applications on the Edge
Alessandro Tundo, Marco Mobilio, Shashikant Ilager +3
The advent of edge devices dedicated to machine learning tasks enabled the execution of AI-based applications that efficiently process and classify the data acquired by the resourc…
Measuring Software Testability via Automatically Generated Test Cases
Luca Guglielmo, Leonardo Mariani, Giovanni Denaro
Estimating software testability can crucially assist software managers to optimize test budgets and software quality. In this paper, we propose a new approach that radically differ…
Property-Based Mutation Testing
Ezio Bartocci, Leonardo Mariani, Dejan Nickovic +1
Mutation testing is an established software quality assurance technique for the assessment of test suites. While it is well-suited to estimate the general fault-revealing capabilit…
Non-Functional Testing of Runtime Enforcers in Android
Oliviero Riganelli, Daniela Micucci, Leonardo Mariani
Runtime enforcers can be used to ensure that running applications satisfy desired correctness properties. Although runtime enforcers that are correct-by-construction with respect t…
Towards Self-Adaptive Peer-to-Peer Monitoring for Fog Environments
Vera Colombo, Alessandro Tundo, Michele Ciavotta +1
Monitoring is a critical component in fog environments: it promptly provides insights about the behavior of systems, reveals Service Level Agreements (SLAs) violations, enables the…
Proactive Libraries: Enforcing Correct Behaviors in Android Apps
Oliviero Riganelli, Ionut Daniel Fagadau, Daniela Micucci +1
The Android framework provides a rich set of APIs that can be exploited by developers to build their apps. However, the rapid evolution of these APIs jointly with the specific char…
Exception-Driven Fault Localization for Automated Program Repair
Davide Ginelli, Oliviero Riganelli, Daniela Micucci +1
Automated Program Repair (APR) techniques typically exploit spectrum-based fault localization (SBFL) to identify the program locations that should be patched, making the effectiven…
Cloud Failure Prediction with Hierarchical Temporal Memory: An Empirical Assessment
Oliviero Riganelli, Paolo Saltarel, Alessandro Tundo +2
Hierarchical Temporal Memory (HTM) is an unsupervised learning algorithm inspired by the features of the neocortex that can be used to continuously process stream data and detect a…
An Evolutionary Approach to Adapt Tests Across Mobile Apps
Leonardo Mariani, Mauro Pezzè, Valerio Terragni +1
Automatic generators of GUI tests often fail to generate semantically relevant test cases, and thus miss important test scenarios. To address this issue, test adaptation techniques…
On Introducing Automatic Test Case Generation in Practice: A Success Story and Lessons Learned
Matteo Brunetto, Giovanni Denaro, Leonardo Mariani +1
The level and quality of automation dramatically affects software testing activities, determines costs and effectiveness of the testing process, and largely impacts on the quality…
Declarative Dashboard Generation
Alessandro Tundo, Chiara Castelnovo, Marco Mobilio +2
Systems of systems are highly dynamic software systems that require flexible monitoring solutions to be observed and controlled. Indeed, operators have to frequently adapt the set…
FILO: FIx-LOcus Localization for Backward Incompatibilities Caused by Android Framework Upgrades
Marco Mobilio, Oliviero Riganelli, Daniela Micucci +1
Mobile operating systems evolve quickly, frequently updating the APIs that app developers use to build their apps. Unfortunately, API updates do not always guarantee backward compa…
A Comprehensive Study of Code-removal Patches in Automated Program Repair
Davide Ginelli, Matias Martinez, Leonardo Mariani +1
Automatic Program Repair (APR) techniques can promisingly help reducing the cost of debugging. Many relevant APR techniques follow the generate-and-validate approach, that is, the…
Test4Enforcers: Test Case Generation for Software Enforcers
Michell Guzman, Oliviero Riganelli, Daniela Micucci +1
Software enforcers can be used to modify the runtime behavior of software applications to guarantee that relevant correctness policies are satisfied. Indeed, the implementation of…
Data Loss Detector: Automatically Revealing Data Loss Bugs in Android Apps
Oliviero Riganelli, Simone Paolo Mottadelli, Claudio Rota +2
Android apps must work correctly even if their execution is interrupted by external events. For instance, an app must work properly even if a phone call is received, or after its l…
CBR: Controlled Burst Recording
Oscar Cornejo, Daniela Briola, Daniela Micucci +1
Collecting traces from software running in the field is both useful and challenging. Traces may indeed help revealing unexpected usage scenarios, detecting and reproducing failures…
A Framework for In-Vivo Testing of Mobile Applications
Mariano Ceccato, Davide Corradini, Luca Gazzola +4
The ecosystem in which mobile applications run is highly heterogeneous and configurable. All layers upon which mobile apps are built offer wide possibilities of variations, from th…
In-The-Field Monitoring of Functional Calls: Is It Feasible?
Oscar Cornejo, Daniela Briola, Daniela Micucci +1
Collecting data about the sequences of function calls executed by an application while running in the field can be useful to a number of applications, including failure reproductio…
Predicting Failures in Multi-Tier Distributed Systems
Leonardo Mariani, Mauro Pezzè, Oliviero Riganelli +1
Many applications are implemented as multi-tier software systems, and are executed on distributed infrastructures, like cloud infrastructures, to benefit from the cost reduction th…
FILO: FIx-LOcus Recommendation for Problems Caused by Android Framework Upgrade
Marco Mobilio, Oliviero Riganelli, Daniela Micucci +1
Dealing with the evolution of operating systems is challenging for developers of mobile apps, who have to deal with frequent upgrades that often include backward incompatible chang…
Controlling Interactions with Libraries in Android Apps Through Runtime Enforcement
Oliviero Riganelli, Daniela Micucci, Leonardo Mariani
Android applications are executed on smartphones equipped with a variety of resources that must be properly accessed and controlled, otherwise the correctness of the executions and…
Anomaly Detection As-a-Service
Marco Mobilio, Matteo Orrù, Oliviero Riganelli +2
Cloud systems are complex, large, and dynamic systems whose behavior must be continuously analyzed to timely detect misbehaviors and failures. Although there are solutions to flexi…