29 citations · 151 across the 34 of their papers we have counts for
37 papers · 1 filter
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…
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…
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…
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…
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…
A Benchmark of Data Loss Bugs for Android Apps
Oliviero Riganelli, Marco Mobilio, Daniela Micucci +1
Android apps must be able to deal with both stop events, which require immediately stopping the execution of the app without losing state information, and start events, which requi…
Automatic Failure Explanation in CPS Models
Ezio Bartocci, Niveditha Manjunath, Leonardo Mariani +2
Debugging Cyber-Physical System (CPS) models can be extremely complex. Indeed, only the detection of a failure is insuffcient to know how to correct a faulty model. Faults can prop…
COST Action IC 1402 ArVI: Runtime Verification Beyond Monitoring -- Activity Report of Working Group 1
Wolfgang Ahrendt, Cyrille Artho, Christian Colombo +9
This report presents the activities of the first working group of the COST Action ArVI, Runtime Verification beyond Monitoring. The report aims to provide an overview of some of th…
Increasing the Reusability of Enforcers with Lifecycle Events
Oliviero Riganelli, Daniela Micucci, Leonardo Mariani
Runtime enforcement can be effectively used to improve the reliability of software applications. However, it often requires the definition of ad hoc policies and enforcement strate…