Luigi L. L. Starace

dblp:249/8977 · also Luigi Libero Lucio Starace · DBLP profile ↗
← Back
29ranked-venue papers
1as first author
27since 2021 · last 2026
0000-0001-7945-9014ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 24 · 22 since 2021Applied, interdisciplinary, general and emerging computing · 5 · 1 first-author · 5 since 2021Databases, data management, data science and information retrieval · 3 · 3 since 2021Artificial intelligence and machine learning · 2 · 2 since 2021Computer networks · 1 · 1 since 2021
YearPublicationVenuePosition
2026 ICST Tool Competition 2026 - SDC Testing Track
Prakash Aryan, Christian Birchler, Tommaso Fulcini, Luigi L. L. Starace, Sebastiano Panichella
ICST4
2026 Neural Embeddings for Web Testing
abstract
Web test automation techniques often rely on crawlers to infer models of web applications for automated test generation. However, current crawlers rely on state equivalence algorithms that struggle to distinguish near-duplicate pages, often leading to redundant test cases and incomplete coverage of application functionality. In this paper, we present a model-based test generation approach that employs transformer-based Siamese neural networks (SNNs) to infer web application models more accurately. By learning similarity-based representations, SNNs capture structural and textual relationships among web pages, improving near-duplicate detection during crawling and enhancing the quality of inferred models, and thus, the effectiveness of generated test suites. Our evaluation across nine web apps shows that SNNs outperform state-of-the-art techniques in near-duplicate detection, resulting in superior web app models with an average F-1 score improvement of 56%. These enhanced models enable the generation of more effective test suites that achieve higher code coverage, with improvements ranging from 6% to 21% and averaging at 12%.
Kasun Kanaththage, Luigi L. L. Starace, Matteo Biagiola, Paolo Tonella, Andrea Stocco 0001
ICST2
2026 Investigating the adoption and maintenance of web GUI testing: Insights from GitHub repositories
abstract
Web GUI testing is a quality assessment practice aimed at evaluating the functionality of web applications from the perspective of its end users. While prior studies have explored the technical challenges of automated Web GUI testing, fewer works have explored how this practice is applied in real-world web apps. This study aims to investigate the adoption, characteristics, and maintenance of automated web GUI testing practices in open-source web applications, focusing on identifying trends and providing actionable insights for researchers and practitioners. We conducted a large-scale empirical analysis of 472 web applications on the GitHub platform, developed in Java , JavaScript , Python , and TypeScript . These projects use popular browser automation frameworks like Selenium , Playwright , Cypress , and Puppeteer . The study involved examining project characteristics and analyzing the co-evolution and maintenance of automated web GUI tests over time. Our findings empirically document automated web GUI testing adoption patterns in open-source projects, providing insights into the practical drivers behind both initial framework adoption and migration between different testing frameworks. Projects incorporating these tests generally show higher community engagement and consistent maintenance efforts. The analysis reveals that Web GUI tests tend to co-evolve with the underlying applications, reflecting their integration into the development lifecycle. The study provides valuable insights into the prevalence and maintenance of Web GUI testing, highlighting practical implications for improving testing practices. Our findings can guide further research on the matter and support practitioners in enhancing their testing strategies.
Sergio Di Meglio, Luigi L. L. Starace, Valeria Pontillo, Ruben Opdebeeck, Coen De Roover, Sergio Di Martino
Inf. Softw. Technol.2
2026 Web app performance testing in industrial contexts: Supporting workload generation with E2E-Loader++
abstract
Performance testing is essential for ensuring that web applications remain responsive and reliable under varying workloads. Defining meaningful workloads remains a key challenge in performance testing, with existing solutions requiring deployed systems to collect real user behaviors, offering limited support for automated data dependency management, and lacking support for emerging protocols like WebSocket. Our previous work introduced E2E-Loader, a novel approach that supports the definition of performance testing workloads by exploiting existing End-to-End functional test cases, enabling workload creation even before system deployment. While initial results demonstrated technical feasibility, the practical utility and industrial readiness of automated workload generation remained unvalidated in real-world software engineering contexts. In this paper, we present E2E-Load-er++, an enhanced version of our original tool, with significant improvements to dependency detection capabilities, and provide the first rigorous industrial evaluation of our semi-automated performance testing workload generation approach. The comprehensive empirical assessment we conducted involved controlled experiments with professional software engineers working on proprietary industrial applications, aimed at measuring both technical effectiveness and practical impact of E2E-Loader++ on performance testing workflows. Results demonstrate substantial productivity gains: compared to manual approaches, E2E-Loader++ achieved a 62% reduction rate in workload creation time and a 37% reduction rate in the number of required user interactions per minute, while preserving comparable workload quality. Moreover, the tool received strong usability ratings and practitioner acceptance, confirming its potential for real-world adoption in industrial performance testing workflows.
Sergio Di Meglio, Luigi L. L. Starace, Sergio Di Martino
J. Syst. Softw.2
2026 Semi-automated generation of web app performance tests from end-to-end GUI-level tests with E2E-Loader
Sergio Di Meglio, Luigi L. L. Starace, Sergio Di Martino
Sci. Comput. Program.2
2025 Rookie Mistakes: Measuring Software Quality in Student Projects to Guide Educational Enhancement
Sergio Di Martino, Sergio Di Meglio, Anna Rita Fasolino, Luigi L. L. Starace, Porfirio Tramontana
SEAA (3)5
2025 REST in Pieces: RESTful Design Rule Violations in Student-Built Web Apps
Sergio Di Meglio, Valeria Pontillo, Luigi L. L. Starace
SEAA (3)3
2025 Performance Testing in Open-Source Web Projects: Adoption, Maintenance, and a Change Taxonomy
abstract
Performance testing is crucial to ensuring that web applications meet user expectations under varying workloads. Activities such as stress, load, and smoke testing are designed to simulate different kinds of simultaneous user interactions and assess system behavior. Despite its recognized importance in quality assurance of large-scale web-based systems, witnessed by numerous studies proposing solutions to support these activities, the real-world adoption and evolutionary dynamics of performance tests have received limited attention in the literature. To fill this gap, we analyzed 77 open-source web projects using Apache JMETER and LOCUST. Our study investigates how performance tasks are performed (adoption time, load design, types of tasks), the characteristics of projects that adopt them, and their longterm maintenance. Our findings reveal that performance tests in open-source projects are simple, with a focus on singleuser behaviors and minimal requests, and most tests have low concurrency. Load tests are the most common, followed by smoke and stress tests. Projects with performance tests tend to be larger and more actively maintained. However, tests are mostly long-lived but rarely updated, suggesting potential risks to their relevance and coverage over time. Finally, by creating a taxonomy of performance test changes, we observe recurring patterns of modifications, including workload adjustments, network request changes, and updates to system monitoring.
Sergio Di Meglio, Luigi L. L. Starace, Valeria Pontillo, Ruben Opdebeeck, Coen De Roover, Sergio Di Martino
ICSME2
2025 E2E-Loader: A Tool to Generate Performance Tests from End-to-End GUI-Level Tests
abstract
Performance testing is essential for ensuring that web applications deliver a satisfactory user experience under varying workloads. Crafting meaningful workloads is a key challenge, addressed in previous research by analyzing system logs that reflect real user behaviors. However, these approaches face limitations: they require the system under test to be deployed to collect usage data, offer limited automation for managing data dependencies, and often lack support for modern protocols like Websocket. We present E2E-LOADER, a tool for automating the generation of performance testing workloads for Web Applications. E2E-LOADER leverages existing End-to-End (E2E) GUI-level test cases to create workloads, allowing its use at early stages of development before user data is available. The tool fully supports HTTP and WEBSOCKET-based interactions and includes customizable heuristics to detect data dependencies automatically. E2E-LOADER has been evaluated in previous research in an industrial case study, demonstrating that it produces workloads comparable in quality to those manually designed by practitioners, with significantly less effort and time. The tool and its source code are openly available to support researchers and practitioners in advancing performance testing practices. A screencast showcasing E2E-LOADER in function is available at https://youtu.be/pDWNlllkAhU.
Sergio Di Meglio, Luigi L. L. Starace, Sergio Di Martino
ICST2
2025 E2EGit: A Dataset of End-to-End Web Tests in Open Source Projects
abstract
End-to-end (E2E) testing is a software validation approach that simulates realistic user scenarios throughout the entire workflow of an application. In the context of web applications, E2E testing involves two activities: Graphic User Interface (GUI) testing, which simulates user interactions with the web app’s GUI through web browsers, and performance testing, which evaluates system workload handling. Despite its recognized importance in delivering high-quality web applications, the availability of large-scale datasets featuring real-world E2E web tests remains limited, hindering research in the field.To address this gap, we present E2EGit, a comprehensive dataset of non-trivial open-source web projects collected on GitHub that adopt E2E testing. By analyzing over 5,000 web repositories across popular programming languages (Java, JavaScript, TypeScript and Python), we identified 472 repositories implementing 43,670 automated Web GUI tests with popular browser automation frameworks (Selenium, Playwright, Cypress, Puppeteer), and 84 repositories that featured 271 automated performance tests implemented leveraging the most popular open-source tools (JMeter, LoCust). Among these, 13 repositories implemented both types of testing for a total of 786 Web GUI tests and 61 performance tests. The dataset is available on Zenodo (DOI: 10.5281/zenodo.14234731).
Sergio Di Meglio, Luigi L. L. Starace, Valeria Pontillo, Ruben Opdebeeck, Coen De Roover, Sergio Di Martino
MSR2
2025 Large Language Models in the Travel Domain: An Industrial Experience
abstract
Online property booking platforms are widely used and rely heavily on consistent, up-to-date information about accommodation facilities, often sourced from third-party providers.However, these external data sources are frequently affected by incomplete or inconsistent details, which can frustrate users and result in a loss of market.In response to these challenges, we present an industrial case study involving the integration of Large Language Models (LLMs) into CALEIDOHOTELS, a property reservation platform developed by FERVENTO.We evaluate two well-know LLMs in this context: Mistral 7B, fine-tuned with QLoRA, and Mixtral 8x7B, utilized with a refined system prompt.Both models were assessed based on their ability to generate consistent and homogeneous descriptions while minimizing hallucinations.Mixtral 8x7B outperformed Mistral 7B in terms of completeness (99.6% vs. 93%), precision (98.8% vs. 96%), and hallucination rate (1.2% vs. 4%), producing shorter yet more concise content (249 vs. 277 words on average).However, this came at a significantly higher computational cost: 50GB VRAM and $1.61/hour versus 5GB and $0.16/hour for Mistral 7B.Our findings provide practical insights into the trade-offs between model quality and resource efficiency, offering guidance for deploying LLMs in production environments and demonstrating their effectiveness in enhancing the consistency and reliability of accommodation data.
Sergio Di Meglio, Aniello Somma, Luigi L. L. Starace, Fabio Scippacercola, Giancarlo Sperlì, Sergio Di Martino
SEKE3
2024 Automatic Assessment of Architectural Anti-patterns and Code Smells in Student Software Projects
abstract
When teaching Programming and Software Engineering in Bachelor’s Degree programs, the emphasis on creating functional software projects often overshadows the focus on software quality, a trend consistent with ACM curricula recommendations. Dedicated Software Engineering courses take typically place in the later stages of the curriculum, and allocate only limited time to software quality, leaving educators with the difficult task of deciding which quality aspects to prioritize. To educate students on the importance of developing high-quality code, it is important to introduce these skills as part of the assessment criteria. To this end, we have implemented a pipeline based on advanced frameworks such as ArchUnit and SonarQube. It was successfully tested on a class of students engaged in the Object Oriented Programming course, demonstrating its usefulness as a resource for educators and providing some concrete evidence of quality problems in student projects.
Sergio Di Meglio, Anna Rita Fasolino, Luigi L. L. Starace, Porfirio Tramontana
EASE4
2024 Towards Predicting Fragility in End-to-End Web Tests
abstract
Automated end-to-end web tests are typically implemented as scripts that leverage dedicated libraries to simulate user interactions with web pages in a remotely controlled web browser. These tests are crucial for ensuring the functionality and reliability of web applications, as well as confirming non-regression on new releases. Still, as web applications evolve, maintaining the end-to-end test code is one of the main challenges faced by practitioners. Indeed, even minor alterations in web pages can easily break existing test code, rendering it unable to correctly locate and interact with web page elements. This issue is commonly known as web test fragility.
Sergio Di Meglio, Luigi L. L. Starace
EASE2
2024 Can Large Language Models Automatically Generate GIS Reports?
Luigi L. L. Starace, Sergio Di Martino
W2GIS1
2024 A visual-based toolkit to support mobility data analytics
abstract
The Knowledge Discovery from Data (KDD) process is widely used across various domains to get valuable insights from data. Many platforms, like KNIME or RapidMiner, offer effective tools for KDD analysts, allowing them to perform data analytics tasks in a visual fashion, without writing code. In recent years, the increasing availability of mobility data has led to a surge in KDD-based initiatives from both industry and academia in the Intelligent Transportation Systems (ITS) domain. Still, KDD platforms lack comprehensive support for some typical mobility data manipulation tasks. As a result, mobility data analysis still requires a significant coding phase, with reduced productivity and hindered replicability of results. To address this gap, this paper presents a novel solution aimed at supporting ITS data analysts in defining KDD processes more efficiently. More in detail, we extended the KNIME platform by introducing a collection of new components explicitly tailored to facilitate some peculiar KDD tasks from mobility data. These components encompass critical functionalities such as map coverage analysis, trajectory partitioning and map-matching. To showcase the effectiveness of the proposed solution, we used it to replicate a study published in the ITS data analytics domain. Thanks to our proposal, such replication can be accomplished in a few minutes and with just a few clicks, without any manual coding, resulting in a pipeline that is easier to understand, distribute and re-execute, also for domain experts with no programming experience. Our solution is open-source and freely downloadable from the Knime Hub. In this way, we aim to foster data-driven research and practice in the ITS field, by providing researchers and practitioners with more effective analytics tools to handle mobility data.
Sergio Di Martino, Enrico Landolfi, Nicola Mazzocca, Franca Rocco di Torrepadula, Luigi L. L. Starace
Expert Syst. Appl.5
2024 Regression test prioritization leveraging source code similarity with tree kernels
abstract
Abstract 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.
Francesco Altiero, Anna Corazza, Sergio Di Martino, Adriano Peron, Luigi L. L. Starace
J. Softw. Evol. Process.5
2024 GUI testing of Android applications: Investigating the impact of the number of testers on different exploratory testing strategies
abstract
Abstract 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.
Sergio Di Martino, Anna Rita Fasolino, Luigi L. L. Starace, Porfirio Tramontana
J. Softw. Evol. Process.3
2023 E2E-Loader: A Framework to Support Performance Testing of Web Applications
abstract
Performance testing is crucial to assess that Web Applications provide a good user experience under different workloads. A workload reproduces the interactions of a number of concurrent users with the system, to observe its actual behavior under stress.Defining meaningful workloads is a key challenge in performance testing, and many solutions have been proposed in the literature to support testers in this task, mostly based on analyzing system logs describing real user behaviors. However, in our industrial and academic experience, we found that these solutions present some limitations, hindering performance testers’ applicability and productivity. In particular, (I) they require the system under test to be actually deployed in order to collect real user behaviors; (II) they offer limited support to automated management of data dependencies; (III) they lack support for emerging protocols, such as WebSocket.In this paper, we present E2E-Loader, a novel approach to automate the design of performance testing workloads for web applications. E2E-Loader generates workloads by exploiting existing End-to-End functional test cases and can be used at an early stage, before the system is deployed and actual user behaviors have been collected. Our solution features full WebSocket support and includes a customizable heuristic to automatically detect data dependencies.We empirically evaluate the proposed approach in an industrial case study. Results are promising and show that the workloads generated with E2E-Loader are generally comparable to those that were manually created by practitioners working with our industrial partner while requiring a fraction of the time to be obtained. Finally, we make E2E-Loader and its source code publicly available for interested practitioners and researchers.
Ermanno Battista, Sergio Di Martino, Sergio Di Meglio, Fabio Scippacercola, Luigi L. L. Starace
ICST5
2023 AI-based Fault-proneness Metrics for Source Code Changes
Francesco Altiero, Anna Corazza, Sergio Di Martino, Adriano Peron, Luigi L. L. Starace
IWSM-Mensura5
2023 Starting a New REST API Project? A Performance Benchmark of Frameworks and Execution Environments
Sergio Di Meglio, Luigi L. L. Starace, Sergio Di Martino
IWSM-Mensura2
2023 Mobility Data Analytics with KNOT: The KNime mObility Toolkit
Sergio Di Martino, Nicola Mazzocca, Franca Rocco di Torrepadula, Luigi L. L. Starace
W2GIS4
2022 Change-Aware Regression Test Prioritization using Genetic Algorithms
abstract
Regression testing is a practice aimed at providing confidence that, within software maintenance, the changes in the code base have introduced no faults in previously validated functionalities. With the software industry shifting towards iterative and incremental development with shorter release cycles, the straightforward approach of re-executing the entire test suite on each new version of the software is often unfeasible due to time and resource constraints. In such scenarios, Test Case Prioritization (TCP) strategies aim at providing an effective ordering of the test suite, so that the tests that are more likely to expose faults are executed earlier and fault detection is maximised even when test execution needs to be abruptly terminated due to external constraints. In this work, we propose Genetic-Diff, a TCP strategy based on a genetic algorithm featuring a specifically-designed crossover operator and a novel objective function that combines code coverage metrics with an analysis of changes in the code base. We empirically evaluate the proposed algorithm on several releases of three heterogeneous real-world, open source Java projects, in which we artificially injected faults, and compare the results with other state-of-the-art TCP techniques using fault-detection rate metrics. Findings show that the proposed technique performs generally better than the baselines, especially when there is a limited amount of code changes, which is a common scenario in modern development practices.
Francesco Altiero, Giovanni Colella, Anna Corazza, Sergio Di Martino, Adriano Peron, Luigi L. L. Starace
SEAA6
2022 ReCover: a Curated Dataset for Regression Testing Research
abstract
It is recognized in the literature that finding representative data to conduct regression testing research is non-trivial. In our experience within this field, existing datasets are often affected by issues that limit their applicability. Indeed, these datasets often lack fine-grained coverage information, reference software repositories that are not available anymore, or do not allow researchers to readily build and run the software projects, e.g., to obtain additional information. As a step towards better replicability and data-availability in regression testing research, we introduce ReCover, a dataset of 114 pairs of subsequent versions from 28 open source Java projects from GitHub. In particular, ReCover is intended as a consolidation and enrichment of recent dedicated regression testing datasets proposed in the literature, to overcome some of the above described issues, and to make them ready to use with a broader number of regression testing techniques. To this end, we developed a custom mining tool, that we make available as well, to automatically process two recent, massive regression testing datasets, retaining pairs of software versions for which we were able to (1) retrieve the full source code; (2) build the software in a general-purpose Java/Maven environment (which we provide as a Docker container for ease of replication); and (3) compute fine-grained test coverage metrics. ReCover can be readily employed in regression testing studies, as it bundles in a single package full, buildable source code and detailed coverage reports for all the projects. We envision that its use could foster regression testing research, improving replicability and long-term data availability.
Francesco Altiero, Anna Corazza, Sergio Di Martino, Adriano Peron, Luigi L. L. Starace
MSR5
2021 Web Application Testing: Using Tree Kernels to Detect Near-duplicate States in Automated Model Inference
abstract
In the context of End-to-End testing of web applications, automated exploration techniques (a.k.a. crawling) are widely used to infer state-based models of the site under test. These models, in which states represent features of the web application and transitions represent reachability relationships, can be used for several model-based testing tasks, such as test case generation. However, current exploration techniques often lead to models containing many near-duplicate states, i.e., states representing slightly different pages that are in fact instances of the same feature. This has a negative impact on the subsequent model-based testing tasks, adversely affecting, for example, size, running time, and achieved coverage of generated test suites. As a web page can be naturally represented by its tree-structured DOM representation, we propose a novel near-duplicate detection technique to improve the model inference of web applications, based on Tree Kernel (TK) functions. TKs are a class of functions that compute similarity between tree-structured objects, largely investigated and successfully applied in the Natural Language Processing domain. To evaluate the capability of the proposed approach in detecting near-duplicate web pages, we conducted preliminary classification experiments on a freely-available massive dataset of about 100k manually annotated web page pairs. We compared the classification performance of the proposed approach with other state-of-the-art near-duplicate detection techniques. Preliminary results show that our approach performs better than state-of-the-art techniques in the near-duplicate detection classification task. These promising results show that TKs can be applied to near-duplicate detection in the context of web application model inference, and motivate further research in this direction.
Anna Corazza, Sergio Di Martino, Adriano Peron, Luigi L. L. Starace
ESEM4
2021 Vehicular crowd-sensing: a parametric routing algorithm to increase spatio-temporal road network coverage
abstract
Current vehicles are equipped with a number of environmental sensors to improve safety and quality of life for passengers. Many researchers have shown that these sensors can also be exploited for opportunistic crowd-sensing. Useful new services can be developed on top of these data, like urban surveillance of Smart Cities. The spatio-temporal sensing coverage achievable with Vehicular Crowd-Sensing (VCS), however, is an open issue, since vehicles are not uniformly distributed over the road network, undermining the quality of potential services based on VCS data.In this paper, we present an evolution of the standard A ∗ routing algorithm, meant to increase VCS coverage by selecting a route in a random way among all those satisfying a parametric constraint on the total cost of the path. The proposed solution is based on an edge-computing paradigm, not requiring a central coordination but rather leveraging the computational resources available on-board, significantly reducing the back-end infrastructure costs. The proposed solution has been empirically evaluated on two public datasets of 450,000 real taxi trajectories from two cities, San Francisco and Porto, characterized by a very different road network topology. Results show sensible improvements in terms of achievable spatio-temporal sensing coverage of probe vehicles.
Dario Asprone, Sergio Di Martino, Paola Festa, Luigi L. L. Starace
Int. J. Geogr. Inf. Sci.4
2021 Security-Aware Deployment Optimization of Cloud-Edge Systems in Industrial IoT
abstract
Cloud computing, edge computing, and the Internet of Things are significantly changing from the original architectural models with pure provisioning of virtual resources (and services) to a transparent and adaptive hosting environment, where cloud providers, as well as “on-premise” resources and end nodes, fully realize the “everything-as-a-service” provisioning concept. The optimal design of these architectures, including the selection of optimal services to acquire, is not trivial in the cloud-edge context due to the involvement of a variable number and the type of available resources offerings and to the impact on cost, performance, and other relevant features such as security, almost never considered. This article presents a novel formalization of the cloud-edge allocation problem for the industrial IoT context. The proposed optimization process takes explicitly into account two critical aspects that are often overlooked in similar approaches, namely, the new cloud-edge on-demand service offerings model for the allocation of resources and the impact on the deployed application, in terms of cost, performance, and security policies actually implemented. An efficient yet suboptimal deterministic solver is also presented and compared with a linear programming one. Results are the same in 86% of the cases on the considered data set while our solver is orders of magnitude faster than the linear one.
Valentina Casola, Alessandra De Benedictis, Sergio Di Martino, Nicola Mazzocca, Luigi L. L. Starace
IEEE Internet Things J.5
2021 Comparing the effectiveness of capture and replay against automatic input generation for Android graphical user interface testing
abstract
Summary Exploratory testing and fully automated testing tools represent two viable and cheap alternatives to traditional test‐case‐based approaches for graphical user interface (GUI) testing of Android apps. The former can be executed by capture and replay tools that directly translate execution scenarios registered by testers in test cases, without requiring preliminary test‐case design and advanced programming/testing skills. The latter tools are able to test Android GUIs without tester intervention. Even if these two strategies are widely employed, to the best of our knowledge, no empirical investigation has been performed to compare their performance and obtain useful insights for a project manager to establish an effective testing strategy. In this paper, we present two experiments we carried out to compare the effectiveness of exploratory testing approaches using a capture and replay tool (Robotium Recorder) against three freely available automatic testing tools (AndroidRipper, Sapienz, and Google Robo). The first experiment involved 20 computer engineering students who were asked to record testing executions, under strict temporal limits and no access to the source code. Results were slightly better than those of fully automated tools, but not in a conclusive way. In the second experiment, the same students were asked to improve the achieved testing coverage by exploiting the source code and the coverage obtained in the previous tests, without strict temporal constraints. The results of this second experiment showed that students outperformed the automated tools especially for long/complex execution scenarios. The obtained findings provide useful indications for deciding testing strategies that combine manual exploratory testing and automated testing.
Sergio Di Martino, Anna Rita Fasolino, Luigi L. L. Starace, Porfirio Tramontana
Softw. Test. Verification Reliab.3
2020 Inspecting Code Churns to Prioritize Test Cases
Francesco Altiero, Anna Corazza, Sergio Di Martino, Adriano Peron, Luigi L. L. Starace
ICTSS5
2019 From Dynamic State Machines to Promela
Massimo Benerecetti, Ugo Gentile, Stefano Marrone 0001, Roberto Nardone, Adriano Peron, Luigi L. L. Starace, Valeria Vittorini
SPIN6