Sergio Di Martino

Has grant

Associate Professor

Università degli Studi di Napoli Federico II
Country flagItaly

Research Interests

Explore related searches

Contact this professor

Get a free first email built on one of their papers, ready for you to edit and send yourself.

Recent Grants

Grant: Close

OCTOPUS

Open Date: 2019-06-01

Close Date: 2023-05-01

Grant: Close

COMPANION

Open Date: 2013-11-01

Close Date: 2016-10-01

Articles (14)

Regression test prioritization (RTP) is an active research field, aiming at re‐ordering the tests in a test suite to maximize the rate at which faults are detected. A number of RTP strategies have been proposed, leveraging different factors to reorder tests. Some techniques include an analysis of changed source code, to assign higher priority to tests stressing modified parts of the codebase. Still, most of these change‐based solutions focus on simple text‐level comparisons among versions. We believe that measuring source code changes in a more refined way, capable of discriminating between mere textual changes (e.g., renaming of a local variable) and more structural changes (e.g., changes in the control flow), could lead to significant benefits in RTP, under the assumption that major structural changes are also more likely to introduce faults. To this end, we propose two novel RTP techniques that leverage tree kernels (TK), a class of similarity functions largely used in Natural Language Processing on tree‐structured data. In particular, we apply TKs to abstract syntax trees of source code, to more precisely quantify the extent of structural changes in the source code, and prioritize tests accordingly. We assessed the effectiveness of the proposals by conducting an empirical study on five real‐world Java projects, also used in a number of RTP‐related papers. We automatically generated, for each considered pair of software versions (i.e., old version, new version) in the evolution of the involved projects, 100 variations with artificially injected faults, leading to over 5k different software evolution scenarios overall. We compared the proposed prioritization approaches against well‐known prioritization techniques, evaluating both their effectiveness and their execution times. Our findings show that leveraging more refined code change analysis techniques to quantify the extent of changes in source code can lead to relevant improvements in prioritization effectiveness, while typically introducing negligible overheads due to their execution.

Year:

2024

Year:

2024

Year:

2024

Year:

2024

Year:

2023

Year:

2023

Graphical user interface (GUI) testing plays a pivotal role in ensuring the quality and functionality of mobile apps. In this context, exploratory testing (ET), a distinctive methodology in which individual testers pursue a creative, and experience‐based approach to test design, is often used as an alternative or in addition to traditional scripted testing. Managing the exploratory testing process is a challenging task that can easily result either in wasteful spending or in inadequate software quality, due to the relative unpredictability of exploratory testing activities, which depend on the skills and abilities of individual testers. A number of works have investigated the diversity of testers' performance when using ET strategies, often in a crowdtesting setting. These works, however, investigated ET effectiveness in detecting bugs, and not in scenarios in which the goal is to generate a re‐executable test suite, as well. Moreover, less work has been conducted on evaluating the impact of adopting different exploratory testing strategies. As a first step toward filling this gap in the literature, in this work, we conduct an empirical evaluation involving four open‐source Android apps and 20 masters students that we believe can be representative of practitioners partaking in exploratory testing activities. The students were asked to generate test suites for the apps using a capture and replay tool and different exploratory testing strategies. We then compare the effectiveness, in terms of aggregate code coverage that different‐sized groups of students using different exploratory testing strategies may achieve. Results provide deeper insights into code coverage dynamics to project managers interested in using exploratory approaches to test simple Android apps, on which they can make more informed decisions.

Year:

2023

Year:

2022

Year:

2021

Year:

2021

Year:

2021

Year:

2020

Year:

2020

Year:

2020

Collaborators (9)

Luigi Libero Lucio Starace

-

ITALY
View details

N. Mazzocca

University of Naples Federico II

ITALY
View details

Antonio Origlia

Assistant Professor

University of Naples Federico II

ITALY
View details

Porfirio Tramontana

-

ITALY
View details

Valentina Casola

University of Naples Federico II

ITALY
View details

Anna CORAZZA

University of Naples Federico II

ITALY
View details

Anna Rita Fasolino

Full Professor

University of Naples Federico II

ITALY
View details

Carmine Gravino

Associate Professor

Università degli Studi di Napoli Federico II

ITALY
View details

Filomena FERRUCCI

Full professor

University of Salerno

ITALY
View details
ApplyKite TwinLearns as you apply

Make your next move.

Prepare your application

Review drafts before you send them.