EDBT 2026 Demo / reviewers in the wild / expert
Filomena Ferrucci
dblp:68/6536
· DBLP profile ↗
120ranked-venue papers
13as first author
43since 2021 · last 2026
0000-0002-0975-8972ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 93 · 10 first-author · 40 since 2021Applied, interdisciplinary, general and emerging computing · 18 · 10 since 2021Databases, data management, data science and information retrieval · 12Artificial intelligence and machine learning · 9 · 2 first-author · 2 since 2021Theory of computation · 5 · 2 first-authorHuman-computer interaction and ubiquitous computing · 4Systems, architecture and hardware · 2 · 1 since 2021Security and privacy · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | LLMs For drug-Drug interaction prediction using textual drug descriptorsabstractAs treatment plans involve more medications, anticipating and preventing drug-drug interactions (DDIs) becomes increasingly important. Such interactions can result in harmful side effects and may reduce therapy effectiveness. Currently, most computational approaches for DDI prediction rely heavily on complex feature engineering and require chemical information to be structured in specific formats to enable accurate detection of potential interactions. This study presents the first investigation of the application of Large Language Models (LLMs) for DDI prediction using drug characteristics expressed solely in free-text form. Specifically, we use SMILES notations, target organisms, and gene associations as inputs in purpose-designed prompts, allowing LLMs to learn the underlying relationships among these descriptors and accordingly predict possible DDIs. We evaluated the performance of 18 distinct LLMs under zero-shot, few-shot, and fine-tuning settings on the DrugBank dataset (version 5.1.12) to identify the most effective paradigm. We then assessed the generalizability of the fine-tuned models on 13 external DDI datasets against well-known machine learning baselines. The results demonstrated that, while zero-shot and few-shot paradigms showed only modest utility, fine-tuned models achieved superior sensitivity while maintaining competitive accuracy and F1-score compared to baselines. Notably, despite its small size, the Phi-3.5 2.7B model attained a sensitivity of 0.978 and an accuracy of 0.919. These findings suggest that computational efficiency and task-specific adaptation are more important than model size in order to capture the complex patterns inherent in drug interactions, and outline a more accessible paradigm for DDI prediction that can be integrated into clinical decision support systems. Gabriele De Vito, Filomena Ferrucci, Athanasios Angelakis |
Knowl. Based Syst. | 2 |
| 2026 | Investigating the Role of Cultural Values in Adopting Large Language Models for Software EngineeringabstractAs a socio-technical activity, software development involves the close interconnection of people and technology. The integration of Large Language Models (LLMs) into this process exemplifies the socio-technical nature of software development. Although LLMs influence the development process, software development remains fundamentally human-centric, necessitating an investigation of the human factors in this adoption. Thus, with this study we explore the factors influencing the adoption of LLMs in software development, focusing on the role of professionals’ cultural values. Guided by the Unified Theory of Acceptance and Use of Technology (UTAUT2) and Hofstede’s cultural dimensions, we hypothesized that cultural values moderate the relationships within the UTAUT2 framework. Using Partial Least Squares-Structural Equation Modelling and data from 188 software engineers, we found that habit and performance expectancy are the primary drivers of LLM adoption, while cultural values do not significantly moderate this process. These findings suggest that, by highlighting how LLMs can boost performance and efficiency, organizations can encourage their use, no matter the cultural differences. Practical steps include offering training programs to demonstrate LLM benefits, creating a supportive environment for regular use, and continuously tracking and sharing performance improvements from using LLMs. Stefano Lambiase, Gemma Catolino, Fabio Palomba, Filomena Ferrucci, Daniel Russo 0002 |
ACM Trans. Softw. Eng. Methodol. | 4 |
| 2025 | How Do Communities of ML-Enabled Systems Smell? A Cross-Sectional Study on the Prevalence of Community SmellsabstractEffective software development relies on managing both collaboration and technology, but socio-technical challenges can harm team dynamics and increase technical debt. Although teams working on ML-enabled systems are interdisciplinary, research has largely focused on technical issues, leaving their socio-technical dynamics underexplored. This study aims to address this gap by examining the prevalence, evolution, and interrelations of “community smells”, in open-source ML projects. We conducted an empirical study on 188 repositories from the NICHE dataset using the CADOCS tool to identify and analyze community smells. Our analysis focused on their prevalence, interrelations, and temporal variations. We found that certain smells—such as Prima Donna Effects and Sharing Villainy—are more prevalent and fluctuate over time compared to others like Radio Silence or Organizational Skirmish. These insights might provide valuable support for ML project managers in addressing socio-technical issues and improving team coordination. Giusy Annunziata, Stefano Lambiase, Fabio Palomba, Gemma Catolino, Filomena Ferrucci |
EASE | 5 |
| 2025 | An Evidence-Based Study on the Relationship of Software Engineering Practices on Code Smells in Python ML Projects
Giammaria Giordano, Antonio Della Porta, Filomena Ferrucci, Fabio Palomba |
SEAA (3) | 3 |
| 2025 | Socio-Technical Well-Being of Quantum Software Communities: An Overview on Community Smells
Stefano Lambiase, Manuel De Stefano, Fabio Palomba, Filomena Ferrucci, Andrea De Lucia |
SEAA (3) | 4 |
| 2025 | LLM-Based Generation of Solidity Smart Contracts from System Requirements in Natural Language: The AstraKode CaseabstractAs blockchain technology continues to evolve, the need for accessible solutions for developing smart contracts has grown, especially for non-technical users. This paper addresses practitioners' challenges in generating Solidity smart contracts from natural language requirements within the AstraKode Blockchain no-code platform (AKB). Our goal is to lower the barrier of entry into smart contract development, making it more accessible to users with limited technical expertise. We propose three methods, i.e., Naive Generation, Augmented Generation, and Enhanced Generation, each utilizing large language models to streamline the code generation process. These methods cater to different user needs, from rapid prototyping to handling complex business scenarios, improving accessibility and usability within AKB. We demonstrate their practical relevance, potential, and limitations in addressing real-world challenges in smart contract development through empirical evaluations and practitioner feedback. Thanks to collaboration with academia and effective knowledge transfer, these methods provide innovative solutions to the challenges of smart contract generation. Furthermore, they have been integrated into AKB to enhance user services, ultimately promoting the development and deployment of secure and efficient smart contracts in the industry. Gabriele De Vito, Damiano D'Amici, Fabiano Izzo, Filomena Ferrucci, Dario Di Nucci |
SANER | 4 |
| 2025 | Test code refactoring unveiled: where and how does it affect test code quality and effectiveness?
Luana Almeida Martins, Valeria Pontillo, Heitor A. X. Costa, Filomena Ferrucci, Fabio Palomba, Ivan do Carmo Machado |
Empir. Softw. Eng. | 4 |
| 2025 | When code smells meet ML: on the lifecycle of ML-specific code smells in ML-enabled systems
Gilberto Recupito, Giammaria Giordano, Filomena Ferrucci, Dario Di Nucci, Fabio Palomba |
Empir. Softw. Eng. | 3 |
| 2025 | The role of Large Language Models in addressing IoT challenges: A systematic literature reviewabstractThe Internet of Things (IoT) has revolutionized various sectors by enabling devices to communicate and interact seamlessly. However, developing IoT applications has data management, security, and interoperability challenges. Large Language Models (LLMs) have shown promise in addressing these challenges due to their advanced language processing capabilities. This Systematic Literature Review assesses the role of LLMs in addressing IoT challenges, exploring the strategies, hardware, and software configurations used, and identifying directions for future research. We extensively searched databases like Scopus, IEEE Xplore, and ACM Digital Library, initially screening 1419 studies and identifying an additional 1167 through snowballing, ultimately focusing on 55 relevant papers. The findings reveal LLMs’ potential to address key IoT challenges such as security and scalability. However, they also highlight significant obstacles, including high computational demands and the complexities of training and tuning these models. Future research should aim to develop methods to reduce the computational requirements of LLMs, improve training datasets, simplify implementation processes, and explore the ethical and privacy implications of using LLMs in IoT applications. Gabriele De Vito, Fabio Palomba, Filomena Ferrucci |
Future Gener. Comput. Syst. | 3 |
| 2025 | Fairness-aware practices from developers' perspective: A surveyabstractMachine Learning (ML) technologies have shown great promise in many areas, but when used without proper oversight, they can produce biased results that discriminate against historically underrepresented groups. In recent years, the software engineering research community has contributed to addressing the need for ethical machine learning by proposing a number of fairness-aware practices, e.g., fair data balancing or testing approaches, that may support the management of fairness requirements throughout the software lifecycle. Nonetheless, the actual validity of these practices, in terms of practical application, impact, and effort, from the developers’ perspective has not been investigated yet. This paper addresses this limitation, assessing the developers’ perspective of a set of 28 fairness practices collected from the literature. We perform a survey study involving 155 practitioners who have been working on the development and maintenance of ML-enabled systems, analyzing the answers via statistical and clustering analysis to group fairness-aware practices based on their application frequency, impact on bias mitigation, and effort required for their application. While all the practices are deemed relevant by developers, those applied at the early stages of development appear to be the most impactful. More importantly, the effort required to implement the practices is average and sometimes high, with a subsequent average application. The findings highlight the need for effort-aware automated approaches that ease the application of the available practices, as well as recommendation systems that may suggest when and how to apply fairness-aware practices throughout the software lifecycle. Gianmario Voria, Giulia Sellitto, Carmine Ferrara, Francesco Abate, Andrea De Lucia, Filomena Ferrucci, Gemma Catolino, Fabio Palomba |
Inf. Softw. Technol. | 6 |
| 2025 | Into the ML-Universe: An improved classification and characterization of machine-learning projectsabstractThe prominence of Machine Learning (ML) systems led to the rise of Software Engineering for Artificial Intelligence (SE4AI), which addresses the unique engineering challenges of these systems. Researchers in SE4AI engage with three primary types of ML projects: those that apply ML techniques, those that develop new ML methodologies, and those that provide support tools and libraries. Current classification schemas distinguish ML projects based on their purpose and engineering quality, yet they miss a fine-grained classification of their nature and purpose. In this paper, we propose a novel, tool-supported automated classification schema for ML projects, coined M achine learning A utomated R ule-based Classification K it (MARK), that builds on top of the work by Gonzalez et al. to refine the classification of applied ML projects into ‘ML-Model Consumers,’ ‘ML-Model Producers,’ and ‘ML-Model Producers & Consumers.’ We evaluated MARK through two empirical studies. The first assessed its classification accuracy across 4,603 ML projects from two datasets. The second analyzed repository metrics, such as community engagement, activity, and structure, to demonstrate MARK’s potential in identifying trends and characteristics unique to each project type. Our findings indicate high F1-scores for our classifier, particularly for ‘ML-Model Producer’ projects, though challenges remain for ‘ML-Model Consumer’ classification. Significant differences in repository metrics among the classified projects highlight the usefulness of MARK, offering insights for researchers studying the socio-technical dynamics of ML projects. Vincenzo De Martino, Gilberto Recupito, Giammaria Giordano, Filomena Ferrucci, Dario Di Nucci, Fabio Palomba |
J. Syst. Softw. | 4 |
| 2025 | An empirical investigation into the capabilities of anomaly detection approaches for test smell detection
Valeria Pontillo, Luana Almeida Martins, Ivan do Carmo Machado, Fabio Palomba, Filomena Ferrucci |
J. Syst. Softw. | 5 |
| 2025 | HELIOT: LLM-Based CDSS for adverse drug reaction managementabstractMedication errors significantly threaten patient safety, leading to adverse drug events and substantial economic burdens on healthcare systems. Clinical Decision Support Systems (CDSSs) aimed at mitigating these errors often face limitations when processing unstructured clinical data, including reliance on static databases and rule-based algorithms, frequently generating excessive alerts that lead to alert fatigue among healthcare providers. This paper introduces HELIOT, an innovative CDSS for adverse drug reaction management that processes free-text clinical information using Large Language Models (LLMs) integrated with a comprehensive pharmaceutical data repository. HELIOT leverages advanced natural language processing capabilities to interpret medical narratives, extract relevant drug reaction information from unstructured clinical notes, and learn from past patient-specific medication tolerances to reduce false alerts, enabling more nuanced and contextual adverse drug event warnings across primary care, specialist consultations, and hospital settings. Evaluation using three state-of-the-art LLMs on synthetic and real-world datasets demonstrates classification accuracy ranging from 98.77% to 99.80% with zero false negatives for life-threatening reactions. This high accuracy enabled HELIOT to achieve a 50-53% reduction in interruptive alerts compared to traditional CDSSs while maintaining perfect safety profiles. To support clinical deployment, the system incorporates a confidence-based risk stratification framework that enables automated decisions for high-certainty cases while ensuring appropriate clinical oversight for uncertain classifications. Clinical usability evaluation with healthcare professionals validated these achievements, revealing strong acceptance and unanimous preference for HELIOT’s contextual approach over traditional systems. These findings show promise; however, broader clinical trials remain essential to confirm effectiveness across diverse healthcare environments. Gabriele De Vito, Filomena Ferrucci, Athanasios Angelakis |
Knowl. Based Syst. | 2 |
| 2025 | A Novel, Tool-Supported Catalog of Community Smell SymptomsabstractABSTRACT Software development is a multifaceted endeavor, requiring a profound grasp of both social dynamics and technical intricacies. Poor collaboration often leads to the accumulation of social debt , manifesting as unforeseen project costs due to sub‐optimal team interactions. Community smells have emerged as indicators of these socio‐technical inefficiencies and potential social debt. While previous research has focused on automated detection of community smells through analyzing developer communication patterns, our study offers a complementary approach. We emphasize the critical role of project managers in assessing socio‐technical dynamics and propose a novel, tool‐supported catalog of symptoms. This catalog can be used for manual inspections to identify early signs of community smells at the individual level, allowing managers to address issues before they escalate. Using a mixed‐method design that leveraged an existing literature review and a user survey, we cataloged symptoms related to four community smell types. Additionally, we developed TOAST, a tool that operationalizes this catalog, and assessed its usability and practical usefulness through an experiment involving project managers. The study showed that even participants unfamiliar with the term “community smells” were able to interpret the tool's output, reflect on team dynamics, and recognize problematic behavioral patterns when supported by structured symptom‐based information. The paper concludes by shedding light on the potential impact of our work and its contribution to advancing the detection and analysis of community smells. Antonio Della Porta, Stefano Lambiase, Gemma Catolino, Filomena Ferrucci, Fabio Palomba |
J. Softw. Evol. Process. | 4 |
| 2025 | Uncovering Community Smells in Machine Learning-Enabled Systems: Causes, Effects, and Mitigation StrategiesabstractSuccessful software development hinges on effective communication and collaboration, which are significantly influenced by human and social dynamics. Poor management of these elements can lead to the emergence of ‘community smells’, i.e., negative patterns in socio-technical interactions that gradually accumulate as ‘social debt’. This issue is particularly pertinent in machine learning-enabled systems, where diverse actors such as data engineers and software engineers interact at various levels. The unique collaboration context of these systems presents an ideal setting to investigate community smells and their impact on development communities. This article addresses a gap in the literature by identifying the types, causes, effects, and potential mitigation strategies of community smells in machine learning-enabled systems. Using Partial Least Squares Structural Equation Modeling (PLS-SEM), we developed hypotheses based on existing literature and interviews, and conducted a questionnaire-based study to collect data. Our analysis resulted in the construction and validation of five models that represent the causes, effects, and strategies for five specific community smells. These models can help practitioners identify and address community smells within their organizations, while also providing valuable insights for future research on the socio-technical aspects of machine learning-enabled system communities. Giusy Annunziata, Stefano Lambiase, Damian A. Tamburri, Willem-Jan van den Heuvel, Fabio Palomba, Gemma Catolino, Filomena Ferrucci, Andrea De Lucia |
ACM Trans. Softw. Eng. Methodol. | 7 |
| 2025 | LLM-Based Automation of COSMIC Functional Size Measurement From Use CasesabstractCOmmon Software Measurement International Consortium (COSMIC) Functional Size Measurement is a method widely used in the software industry to quantify user functionality and measure software size, which is crucial for estimating development effort, cost, and resource allocation. COSMIC measurement is a manual task that requires qualified professionals and effort. To support professionals in COSMIC measurement, we propose an automatic approach, CosMet, that leverages Large Language Models to measure software size starting from use cases specified in natural language. To evaluate the proposed approach, we developed a web tool that implements CosMet using GPT-4 and conducted two studies to assess the approach quantitatively and qualitatively. Initially, we experimented with CosMet on seven software systems, encompassing 123 use cases, and compared the generated results with the ground truth created by two certified professionals. Then, seven professional measurers evaluated the analysis achieved by CosMet and the extent to which the approach reduces the measurement time. The first study's results revealed that CosMet is highly effective in analyzing and measuring use cases. The second study highlighted that CosMet offers a transparent and interpretable analysis, allowing practitioners to understand how the measurement is derived and make necessary adjustments. Additionally, it reduces the manual measurement time by 60-80%. Gabriele De Vito, Sergio Di Martino, Filomena Ferrucci, Carmine Gravino, Fabio Palomba |
IEEE Trans. Software Eng. | 3 |
| 2024 | Security Risk Assessment on Cloud: A Systematic Mapping StudyabstractCloud computing has become integral to modern organizational operations, offering efficiency and agility. However, security challenges such as data loss and downtime necessitate tailored compliance solutions. Risk assessment is crucial for identifying and mitigating cloud-related threats, yet a standardized approach remains elusive. Our study aims to fill this gap by conducting a systematic mapping study on the prevailing methodologies. Through a meticulous analysis of 21 scholarly papers, we explore various aspects of security risk assessment for the cloud. The results provide valuable insights into delivery models, standards, and validation practices, contributing to a comprehensive understanding of cloud risk assessment. Giusy Annunziata, Alexandra Sheykina, Fabio Palomba, Andrea De Lucia, Gemma Catolino, Filomena Ferrucci |
EASE | 6 |
| 2024 | Toward a Search-Based Approach to Support the Design of Security Tests for Malicious Network TrafficabstractIoT devices generate and exchange large amounts of data daily, creating significant security and privacy challenges. Security testing, particularly using Machine Learning (ML), helps identify and classify potential malicious network traffic. Previous research has shown how ML can aid in designing security tests for IoT attacks. This ongoing paper introduces a search-based approach using Genetic Algorithms (GAs) to evolve detection rules and detect intrusion attacks. We build on existing GA methods for intrusion detection and compare them with leading ML models. We propose 17 detection rules and demonstrate that while GAs do not fully replace ML, they perform well with ample attack examples and enhance the usability and implementation of deterministic test cases by security testers. Davide La Gamba, Gerardo Iuliano, Gilberto Recupito, Giammaria Giordano, Filomena Ferrucci, Dario Di Nucci, Fabio Palomba |
EASE | 5 |
| 2024 | FRINGE: context-aware FaiRness engineerING in complex software systEmsabstractMachine learning (ML) is essential in modern technology, driving complex data-driven decisions. By 2025, daily data generation will exceed 463 exabytes, increasing ML’s influence and ethical risks of data exploitation and discrimination. The European Union’s Artificial Intelligence Act highlights the need for ethical AI solutions. Fabio Palomba, Andrea Di Sorbo, Davide Di Ruscio, Filomena Ferrucci, Gemma Catolino, Giammaria Giordano, Dario Di Dario, Gianmario Voria, Viviana Pentangelo, Maria Tortorella, Arnaldo Sgueglia, Claudio Di Sipio, Giordano d'Aloisio, Antinisca Di Marco |
ESEM | 4 |
| 2024 | An Empirical Study on the Relation Between Programming Languages and the Emergence of Community SmellsabstractTo provide a measurable representation of social issues in software teams, the research community defined a set of anti-patterns that may lead to the emergence of both social and technical debt, i.e., “community smells”. Researchers have investigated community smells from different perspectives; in particular, they have analyzed how product-related aspects of software development, such as architecture and introducing a new language, could influence community smells. However, how technical project characteristics may be in relation to the emergence of community smells is still unknown. Different from those works, we aim to investigate how adopting specific programming languages might influence the socio-technical alignment and congruence of the development community, possibly inducing their overall ability to communicate and collaborate, leading to the emergence of social anti-patterns, i.e., community smells. We studied the relationship between the most used programming languages and the community smells in 100 open-source projects on G ITHub. Key results of the study show a low statistical correlation for specific community smells like Prima Donna Effects, Solution Defiance, and Organizational Skirmish, highlighting the fact that for some programming languages, its adoption could not be an indicator of the presence or absence of community smells. Giusy Annunziata, Carmine Ferrara, Stefano Lambiase, Fabio Palomba, Gemma Catolino, Filomena Ferrucci, Andrea De Lucia |
SEAA | 6 |
| 2024 | AGORA: An Approach for Generating Acceptance Test Cases from Use CasesabstractThis paper introduces AGORA, an innovative approach that leverages Large Language Models to automate the definition of acceptance test cases from use cases. AGORA consists of two phases that exploit prompt engineering to 1) identify test cases for specific use cases and 2) generate detailed acceptance tests cases. AGORA was evaluated through a controlled experiment involving industry professionals, comparing the effectiveness and efficiency of the proposed approach with the manual method. The results showed that AGORA can generate acceptance test cases with a quality comparable to that obtained manually but improving the process efficiency by over 90% in a fraction of the time. Furthermore, user feedback indicated high satisfaction with using the proposed approach. These findings underscore the potential of AGORA as a tool to enhance the efficiency and quality of the software testing process. Gabriele De Vito, Gabriele Vassallo, Fabio Palomba, Filomena Ferrucci |
SEAA | 4 |
| 2024 | Fairness-aware machine learning engineering: how far are we?abstractMachine learning is part of the daily life of people and companies worldwide. Unfortunately, bias in machine learning algorithms risks unfairly influencing the decision-making process and reiterating possible discrimination. While the interest of the software engineering community in software fairness is rapidly increasing, there is still a lack of understanding of various aspects connected to fair machine learning engineering, i.e., the software engineering process involved in developing fairness-critical machine learning systems. Questions connected to the practitioners' awareness and maturity about fairness, the skills required to deal with the matter, and the best development phase(s) where fairness should be faced more are just some examples of the knowledge gaps currently open. In this paper, we provide insights into how fairness is perceived and managed in practice, to shed light on the instruments and approaches that practitioners might employ to properly handle fairness. We conducted a survey with 117 professionals who shared their knowledge and experience highlighting the relevance of fairness in practice, and the skills and tools required to handle it. The key results of our study show that fairness is still considered a second-class quality aspect in the development of artificial intelligence systems. The building of specific methods and development environments, other than automated validation tools, might help developers to treat fairness throughout the software lifecycle and revert this trend. Carmine Ferrara, Giulia Sellitto, Filomena Ferrucci, Fabio Palomba, Andrea De Lucia |
Empir. Softw. Eng. | 3 |
| 2024 | On the adoption and effects of source code reuse on defect proneness and maintenance effortabstractAbstract Software reusability mechanisms, like inheritance and delegation in Object-Oriented programming, are widely recognized as key instruments of software design that reduce the risks of source code being affected by defects, other than to reduce the effort required to maintain and evolve source code. Previous work has traditionally employed source code reuse metrics for prediction purposes, e.g., in the context of defect prediction. However, our research identifies two noticeable limitations of the current literature. First, still little is known about the extent to which developers actually employ code reuse mechanisms over time. Second, it is still unclear how these mechanisms may contribute to explaining defect-proneness and mainten0ance effort during software evolution. We aim at bridging this gap of knowledge, as an improved understanding of these aspects might provide insights into the actual support provided by these mechanisms, e.g., by suggesting whether and how to use them for prediction purposes. We propose an exploratory study, conducted on 12Javaprojects–over 44,900 commits–of theDefects4Jdataset, aiming at (1) assessing how developers use inheritance and delegation during software evolution; and (2) statistically analyzing the impact of inheritance and delegation on fault proneness and maintenance effort. Our results let emerge various usage patterns that describe the way inheritance and delegation vary over time. In addition, we find out that inheritance and delegation are statistically significant factors that influence both source code defect-proneness and maintenance effort. Giammaria Giordano, Gerardo Festa, Gemma Catolino, Fabio Palomba, Filomena Ferrucci, Carmine Gravino |
Empir. Softw. Eng. | 5 |
| 2024 | Machine learning-based test smell detectionabstractTest smells are symptoms of sub-optimal design choices adopted when developing test cases. Previous studies have proved their harmfulness for test code maintainability and effectiveness. Therefore, researchers have been proposing automated, heuristic-based techniques to detect them. However, the performance of these detectors is still limited and dependent on tunable thresholds. We design and experiment with a novel test smell detection approach based on machine learning to detect four test smells. First, we develop the largest dataset of manually-validated test smells to enable experimentation. Afterward, we train six machine learners and assess their capabilities in within- and cross-project scenarios. Finally, we compare the ML-based approach with state-of-the-art heuristic-based techniques. The key findings of the study report a negative result. The performance of the machine learning-based detector is significantly better than heuristic-based techniques, but none of the learners able to overcome an average F-Measure of 51%. We further elaborate and discuss the reasons behind this negative result through a qualitative investigation into the current issues and challenges that prevent the appropriate detection of test smells, which allowed us to catalog the next steps that the research community may pursue to improve test smell detection techniques. Valeria Pontillo, Dario Amoroso d'Aragona, Fabiano Pecorelli, Dario Di Nucci, Filomena Ferrucci, Fabio Palomba |
Empir. Softw. Eng. | 5 |
| 2024 | SENEM: A software engineering-enabled educational metaverseabstractThe term metaverse refers to a persistent, virtual, three-dimensional environment where individuals may communicate, engage, and collaborate. One of the most multifaceted and challenging use cases of the metaverse is education, where educators and learners may require multiple technical, social, psychological, and interaction instruments to accomplish their learning objectives. While the characteristics of the metaverse might nicely fit the problem’s needs, our research points out a noticeable lack of knowledge into (1) the specific requirements that an educational metaverse should actually fulfill to let educators and learners successfully interact towards their objectives and (2) how to design an appropriate educational metaverse for both educators and learners. In this paper, we aim to bridge this knowledge gap by proposing SENEM, a novel software engineering-enabled educational metaverse. We first elicit a set of functional requirements that an educational metaverse should fulfill. In this respect, we conduct a literature survey to extract the currently available knowledge on the matter discussed by the research community, and afterward, we assess and complement such knowledge through semi-structured interviews with educators and learners. Upon completing the requirements elicitation stage, we then build our prototype implementation of SENEM, a metaverse that makes available to educators and learners the features identified in the previous stage. Finally, we evaluate the tool in terms of learnability, efficiency, and satisfaction through a Rapid Iterative Testing and Evaluation research approach, leading us to the iterative refinement of our prototype. Through our survey strategy, we extracted nine requirements that guided the tool development that the study participants positively evaluated. Our study reveals that the target audience appreciates the elicited design strategy. Our work has the potential to form a solid contribution that other researchers can use as a basis for further improvements. Viviana Pentangelo, Dario Di Dario, Stefano Lambiase, Filomena Ferrucci, Carmine Gravino, Fabio Palomba |
Inf. Softw. Technol. | 4 |
| 2024 | Test Code Flakiness in Mobile Apps: The Developer's PerspectiveabstractTest flakiness arises when test cases have a non-deterministic, intermittent behavior that leads them to either pass or fail when run against the same code. While researchers have been contributing to the detection, classification, and removal of flaky tests with several empirical studies and automated techniques, little is known about how the problem of test flakiness arises in mobile applications. We point out a lack of knowledge on: (1) The prominence and harmfulness of the problem; (2) The most frequent root causes inducing flakiness; and (3) The strategies applied by practitioners to deal with it in practice. An improved understanding of these matters may lead the software engineering research community to assess the need for tailoring existing instruments to the mobile context or for brand-new approaches that focus on the peculiarities identified. We address this gap of knowledge by means of an empirical study into the mobile developer’s perception of test flakiness. We first perform a systematic grey literature review to elicit how developers discuss and deal with the problem of test flakiness in the wild. Then, we complement the systematic review through a survey study that involves 130 mobile developers and that aims at analyzing their experience on the matter. The results of the grey literature review indicate that developers are often concerned with flakiness connected to user interface elements. In addition, our survey study reveals that flaky tests are perceived as critical by mobile developers, who pointed out major production code- and source code design-related root causes of flakiness, other than the long-term effects of recurrent flaky tests. Furthermore, our study lets the diagnosing and fixing processes currently adopted by developers and their limitations emerge. We conclude by distilling lessons learned, implications, and future research directions. Valeria Pontillo, Fabio Palomba, Filomena Ferrucci |
Inf. Softw. Technol. | 3 |
| 2024 | An Empirical Investigation Into the Influence of Software Communities' Cultural and Geographical Dispersion on ProductivityabstractEstimating and understanding software development productivity represent crucial tasks for researchers and practitioners. Although different works focused on evaluating the impact of human factors on productivity, a few explored the influence of cultural/geographical diversity in software development communities. More particularly, all previous treatise addresses cultural aspects as abstract concepts without providing a quantitative representation. Improved knowledge of these matters might help project managers to assemble more productive teams and tool vendors to design software analytics toolkits that may better estimate productivity. This paper has the goal of enlarging the existing body of knowledge on the factors affecting productivity by focusing on cultural and geographical dispersion of a development community—namely, how diverse a community is in terms of cultural attitudes and geographical collocation of the members who belong to it. To reach this goal, we performed a mixed-method empirical study. First, we built a statistical model relating dispersion metrics with the productivity of 25 open-source communities on Github. Then, we performed a confirmatory survey with 140 practitioners. The key results of our study indicate that cultural and geographical dispersion considerably impact productivity, thus encouraging managers and practitioners to consider such aspects during all the phases of the software development lifecycle. We conclude our paper by elaborating on the main insights from our analyses and instilling implications that may drive further research. Stefano Lambiase, Gemma Catolino, Fabiano Pecorelli, Damian A. Tamburri, Fabio Palomba, Willem-Jan van den Heuvel, Filomena Ferrucci |
J. Syst. Softw. | 7 |
| 2024 | Early and Realistic Exploitability Prediction of Just-Disclosed Software Vulnerabilities: How Reliable Can It Be?abstractWith the rate of discovered and disclosed vulnerabilities escalating, researchers have been experimenting with machine learning to predict whether a vulnerability will be exploited. Existing solutions leverage information unavailable when a CVE is created, making them unsuitable just after the disclosure. This paper experiments with early exploitability prediction models driven exclusively by the initial CVE record, i.e., the original description and the linked online discussions. Leveraging NVD and Exploit Database, we evaluate 72 prediction models trained using six traditional machine learning classifiers, four feature representation schemas, and three data balancing algorithms. We also experiment with five pre-trained large language models (LLMs). The models leverage seven different corpora made by combining three data sources, i.e., CVE description, Security Focus , and BugTraq . The models are evaluated in a realistic , time-aware fashion by removing the training and test instances that cannot be labeled “neutral” with sufficient confidence. The validation reveals that CVE descriptions and Security Focus discussions are the best data to train on. Pre-trained LLMs do not show the expected performance, requiring further pre-training in the security domain. We distill new research directions, identify possible room for improvement, and envision automated systems assisting security experts in assessing the exploitability. Emanuele Iannone, Giulia Sellitto, Emanuele Iaccarino, Filomena Ferrucci, Andrea De Lucia, Fabio Palomba |
ACM Trans. Softw. Eng. Methodol. | 4 |
| 2024 | Scoping Software Engineering for AI: The TSE PerspectiveabstractAdvances in Artificial Intelligence (AI), and in particular in Machine Learning (ML), are introducing profound changes to scholarly submissions across publication venues, affecting in particular the contributions that are being submitted to Software Engineering (SE) conferences and journals. In this context, it is not always clear whether manuscripts submitted to SE venues under the umbrella term SE for AI are indeed relevant to SE, in the sense that they explicitly contain contributions to the SE body of knowledge. This leads to recurring discussions on whether certain AI-related submissions are appropriate to SE venues, or should instead be submitted to other journals and conferences, including AI or ML-specific ones. In this editorial, we discuss the kinds of AI-related contributions that are a better fit-and a less good fit-for publication in the IEEE Transactions on Software Engineering. Sebastián Uchitel, Marsha Chechik, Massimiliano Di Penta, Bram Adams, Nazareno Aguirre, Gabriele Bavota, Domenico Bianculli, Kelly Blincoe, Ana Cavalcanti 0001, Yvonne Dittrich, Filomena Ferrucci, Rashina Hoda, LiGuo Huang, David Lo 0001, Michael R. Lyu, Lei Ma 0003, Jonathan I. Maletic, Leonardo Mariani, Collin McMillan, Tim Menzies, Martin Monperrus, Ana Moreno, Nachiappan Nagappan, Liliana Pasquale, Patrizio Pelliccione, Michael Pradel, Rahul Purandare, Sukyoung Ryu, Mehrdad Sabetzadeh, Alexander Serebrenik, Jun Sun 0001, Chakkrit Tantithamthavorn, Christoph Treude, Manuel Wimmer, Yingfei Xiong 0001, Tao Yue 0002, Andy Zaidman, Tao Zhang 0001, Hao Zhong 0001 |
IEEE Trans. Software Eng. | 11 |
| 2023 | Security Testing in The Wild: An Interview StudyabstractModern software systems are increasingly complex and the risk of falling into security concerns is high if these systems are not developed with a proper security mindset. Despite the empirical studies and security-oriented approaches proposed by researchers and tool vendors, we still point out a lack of knowledge on the security testing processes applied by companies to reduce risks connected to software security. In this paper, we aim to bridge this gap of knowledge by performing an interview-based study with 19 security experts to understand how companies arrange security testing and how the process of security testing is actually performed in practice. Our results highlight that some companies incorporated the figure of the security tester in the software life cycle, yet practitioners reported a lack of standardized guidelines for security testing. From a management perspective, our results suggest that the introduction of formal communication between development and security testing teams may lead to better performance. Dario Di Dario, Valeria Pontillo, Stefano Lambiase, Filomena Ferrucci, Fabio Palomba |
SEAA | 4 |
| 2023 | The Yin and Yang of Software Quality: On the Relationship between Design Patterns and Code SmellsabstractSoftware reuse is considered the silver bullet of software engineering. It has been largely demonstrated that the proper implementation of design and reuse principles can substantially reduce the effort, time, and costs required to develop software systems. Design patterns are one of the most affirmed techniques for source code reuse. While previous work pointed out their benefits in terms of maintainability and understandability, some seem to raise the opposite concern, suggesting that they can negatively impact code quality from the developers’ perspectives. We recognize such discrepancy in the literature, and we aim to fill this gap by investigating whether and how design patterns are related to the emergence of issues compromising code understandability, namely the Complex Class, God Class, and Spaghetti Code smells, which have been also shown to increase the change- and fault-proneness of code. We perform an empirical evaluation on 15 Java projects evolving over 542 releases, and we find that, although design patterns are supposed to improve code quality without prejudice, they can be related to dangerous issues, as we observe the emergence of code smells in the classes participating in their implementation. From our findings, we distill a number of implications for developers and project managers to support them in dealing with design patterns. Giammaria Giordano, Giulia Sellitto, Aurelio Sepe, Fabio Palomba, Filomena Ferrucci |
SEAA | 5 |
| 2023 | Meet C4SE: Your New Collaborator for Software Engineering TasksabstractThe software industry’s complexity and scale have increased rapidly, leading to challenges in managing information and tasks among developer teams, often resulting in inefficiencies, misunderstandings, and delays. The extensive search for automated tasks led to using chatbots—conversational agents—in software development. However, despite their positive contributions, their adoption has numerous issues, notably the lack of full working context, making their support sometimes useless. To address such a limitation, we propose C4SE, a chatbot designed to assist software engineers and managers in performing various tasks by gathering information helpful for better support. We use the GPT 3.5 model, and a specialized data store based on a vector database for long-term memory, to understand users’ intentions and maintain contextual information. Our prototype C4SE can perform code suggestions, reviews, GitHub API operations, and generate unit and acceptance test cases. Preliminary evaluation reports encouraging results, showing potential to increase productivity in the software development lifecycle. Gabriele De Vito, Stefano Lambiase, Fabio Palomba, Filomena Ferrucci |
SEAA | 4 |
| 2023 | ECHO: An Approach to Enhance Use Case Quality Exploiting Large Language ModelsabstractUML use cases are commonly used in software engineering to specify the functional requirements of a system since they are an effective tool for interacting with stakeholders thanks to the use of natural languages. However, producing high-quality use cases can be challenging due to the lack of precise guidelines and suitable tools. This can lead to problems, e.g. inaccuracy and incompleteness, in the derived software artifacts and the final product. Recent advancements in Natural Language Processing and Large Language Models (LLMs) can provide the premises for developing tools supporting activities based on natural languages. In this paper, we propose ECHO, a novel approach for supporting software engineers in enhancing the quality of UML use cases using LLMs. Our approach consists of a co-prompt engineering approach and an iterative and interactive process with the LLM to improve the quality of use cases, based on practitioners’ feedback. To prove the feasibility of the proposal, we instantiated the approach using ChatGPT and performed a controlled experiment to assess its effectiveness by involving seven software engineering professionals. Three were part of the experimental group and used ECHO to improve the quality of the use cases. Three others were the control group and enhanced the quality of use cases manually. Finally, the last participant acted as an oracle, blind w.r.t. the groups, and evaluated the quality of the enhanced use cases, both qualitatively by means of a questionnaire, and quantitatively, by means of the Use Case Points metric. Results show that ECHO can effectively support software engineers to improve use cases’ quality thanks to the prompts suitably designed to interact with ChatGPT. Gabriele De Vito, Fabio Palomba, Carmine Gravino, Sergio Di Martino, Filomena Ferrucci |
SEAA | 5 |
| 2023 | Inferring test models from user bug reports using multi-objective searchabstractBug reports are used by software testers to identify abnormal software behaviour. In this paper, we propose a multi-objective evolutionary approach to automatically generate finite state machines (FSMs) based on bug reports written in natural language, to automatically capture incorrect software behaviour. These FSMs can then be used by testers to both exercise the reported bugs and create tests that can potentially reveal new bugs. The FSM generation is guided by a Multi-Objective Evolutionary Algorithm (MOEA) that simultaneously minimises three objectives: size of the models, number of unrealistic states (over-generalisation), and number of states not covered by the models (under-generalisation). We assess the feasibility of our approach for 10 real-world software programs by exploiting three different MOEAs (NSGA-II, NSGA-III and MOEA/D) and benchmarking them with the baseline tool KLFA. Our results show that KLFA is not practical to be used with real-world software, because it generates models that over generalise software behaviour. Among the three MOEAs, NSGA-II obtained significantly better results than the other two for all 10 programs, detecting a greater number of bugs for 90% of the programs. We also studied the differences in quality and model performance when MOEAs are guided by only two objectives rather than three during the evolution. We found that the use of under-approximation (or over-approximation) and size as objectives generates infeasible solutions. On the other hand, using as objectives over-approximation and under-approximation generates feasible solutions yet still worse than those obtained using all three objectives for 100% of the cases. The size objective acts as a diversity factor. As a consequence, an algorithm guided by all three objectives avoids local optima, controls the size of the models, and makes the results more diverse and closer to the optimal Pareto set. Giovani Guizzo, Francesco Califano, Federica Sarro, Filomena Ferrucci, Mark Harman |
Empir. Softw. Eng. | 4 |
| 2023 | The Secret Life of Software Vulnerabilities: A Large-Scale Empirical StudyabstractSoftware vulnerabilities are weaknesses in source code that can be potentially exploited to cause loss or harm. While researchers have been devising a number of methods to deal with vulnerabilities, there is still a noticeable lack of knowledge on their software engineering life cycle, for example how vulnerabilities are introduced and removed by developers. This information can be exploited to design more effective methods for vulnerability prevention and detection, as well as to understand the granularity at which these methods should aim. To investigate the life cycle of known software vulnerabilities, we focus on how, when, and under which circumstances the contributions to theintroductionof vulnerabilities in software projects are made, as well as how long, and how they areremoved. We consider 3,663 vulnerabilities with public patches from the National Vulnerability Database—pertaining to 1,096 open-source software projects onGitHub—and define an eight-step process involving both automated parts (e.g., using a procedure based on the SZZ algorithm to find the vulnerability-contributing commits) and manual analyses (e.g., how vulnerabilities were fixed). The investigated vulnerabilities can be classified in 144 categories, take on average at least 4 contributing commits before being introduced, and half of them remain unfixed for at least more than one year. Most of thecontributionsare done by developers with high workload, often when doing maintenance activities, andremovedmostly with the addition of new source code aiming at implementing further checks on inputs. We conclude by distilling practical implications on how vulnerability detectors should work to assist developers in timely identifying these issues. Emanuele Iannone, Roberta Guadagni, Filomena Ferrucci, Andrea De Lucia, Fabio Palomba |
IEEE Trans. Software Eng. | 3 |
| 2022 | A Preliminary Conceptualization and Analysis on Automated Static Analysis Tools for Vulnerability Detection in Android AppsabstractThe availability of dependable mobile apps is a crucial need for over three billion people who use apps daily for any social and emergency connectivity. A key challenge for mobile developers concerns the detection of security-related issues. While a number of tools have been proposed over the years—especially for the ANDROID operating system—we point out a lack of empirical investigations on the actual support provided by these tools; these might guide developers in selecting the most appropriate instruments to improve their apps. In this paper, we propose a preliminary conceptualization of the vulnerabilities detected by three automated static analysis tools such as ANDROBUGS2, TRUESEEING, and INSIDER. We first derive a taxonomy of the issues detectable by the tools. Then, we run the tools against a dataset composed of 6,500 ANDROID apps to investigate their detection capabilities in terms of frequency of detection of vulnerabilities and complementarity among tools. Key findings of the study show that current tools identify similar concerns, but they use different naming conventions. Perhaps more importantly, the tools only partially cover the most common vulnerabilities classified by the Open Web Application Security Project (OWASP) Foundation. Giammaria Giordano, Fabio Palomba, Filomena Ferrucci |
SEAA | 3 |
| 2022 | "There and Back Again?" On the Influence of Software Community Dispersion Over ProductivityabstractEstimating and understanding productivity still represents a crucial task for researchers and practitioners. Researchers spent significant effort identifying the factors that influence software developers’ productivity, providing several approaches for analyzing and predicting such a metric. Although different works focused on evaluating the impact of human factors on productivity, little is known about the influence of cultural/geographical diversity in software development communities. Indeed, in previous studies, researchers treated cultural aspects like an abstract concept without providing a quantitative representation. This work provides an empirical assessment of the relationship between cultural and geographical dispersion of a development community—namely, how diverse a community is in terms of cultural attitudes and geographical collocation of the members who belong to it—and its productivity. To reach our aim, we built a statistical model that contained product and socio-technical factors as independent variables to assess the correlation with productivity, i.e., the number of commits performed in a given time. Then, we ran our model considering data of 25 open-source communities on GitHub. Results of our study indicate that cultural and geographical dispersion impact productivity, thus encouraging managers and practitioners to consider such aspects during all the phases of the software development lifecycle. Stefano Lambiase, Gemma Catolino, Fabiano Pecorelli, Damian A. Tamburri, Fabio Palomba, Willem-Jan van den Heuvel, Filomena Ferrucci |
SEAA | 7 |
| 2022 | Community Smell Detection and Refactoring in SLACK: The CADOCS ProjectabstractSoftware engineering is a human-centered activity involving various stakeholders with different backgrounds that have to communicate and collaborate to reach shared objectives. The emergence of conflicts among stakeholders may lead to undesired effects on software maintainability, yet it is often unavoidable in the long run. Community smells, i.e., sub-optimal communication and collaboration practices, have been defined to map recurrent conflicts among developers. While some community smell detection tools have been proposed in the recent past, these can be mainly used for research purposes because of their limited level of usability and user engagement. To facilitate a wider use of community smell-related information by practitioners, we present CADOCS, a client-server conversational agent that builds on top of a previous community smell detection tool proposed by Almarini et al. to (1) make it usable within a well-established communication channel like Slack and (2) augment it by providing initial support to software analytics instruments useful to diagnose and refactor community smells. We describe the features of the tool and the preliminary evaluation conducted to assess and improve robustness and usability. Gianmario Voria, Viviana Pentangelo, Antonio Della Porta, Stefano Lambiase, Gemma Catolino, Fabio Palomba, Filomena Ferrucci |
ICSME | 7 |
| 2022 | On the Evolution of Inheritance and Delegation Mechanisms and Their Impact on Code QualityabstractSource code reuse is considered one of the holy grails of modern software development. Indeed, it has been widely demonstrated that this activity decreases software development and maintenance costs while increasing its overall trustwor-thiness. The Object-Oriented (OO) paradigm provides different internal mechanisms to favor code reuse, i.e., specification inheritance, implementation inheritance, and delegation. While previous studies investigated how inheritance relations impact source code quality, there is still a lack of understanding of their evolutionary aspects and, more particular, of how these mechanisms may impact source code quality over time. To bridge this gap of knowledge, this paper proposes an empirical investigation into the evolution of specification inheritance, implementation inheritance, and delegation and their impact on the variability of source code quality attributes. First, we assess how the implementation of those mechanisms varies over 15 releases of three software systems. Second, we devise a statistical approach with the aim of understanding how inheritance and delegation let source code quality—as indicated by the severity of code smells—vary in either positive or negative manner. The key results of the study indicate that inheritance and delegation evolve over time, but not in a statistically significant manner. At the same time, their evolution often leads code smell severity to be reduced, hence possibly contributing to improve code maintainability. Giammaria Giordano, Antonio Fasulo, Gemma Catolino, Fabio Palomba, Filomena Ferrucci, Carmine Gravino |
SANER | 5 |
| 2022 | Toward Understanding the Impact of Refactoring on Program ComprehensionabstractSoftware refactoring is the activity associated with developers changing the internal structure of source code without modifying its external behavior. The literature argues that refactoring might have beneficial and harmful implications for software maintainability, primarily when performed without the support of automated tools. This paper continues the narrative on the effects of refactoring by exploring the dimension of program comprehension, namely the property that describes how easy it is for developers to understand source code. We start our investigation by assessing the basic unit of program comprehension, namely program readability. Next, we set up a large-scale empirical investigation – conducted on 156 open-source projects – to quantify the impact of refactoring on program readability. First, we mine refactoring data and, for each commit involving a refactoring, we compute (i) the amount and type(s) of refactoring actions performed and (ii) eight state-of-the-art program comprehension metrics. Afterwards, we build statistical models relating the various refactoring operations to each of the readability metrics considered to quantify the extent to which each refactoring impacts the metrics in either a positive or negative manner. The key results are that refactoring has a notable impact on most of the readability metrics considered. Giulia Sellitto, Emanuele Iannone, Zadia Codabux, Valentina Lenarduzzi, Andrea De Lucia, Fabio Palomba, Filomena Ferrucci |
SANER | 7 |
| 2022 | Software testing and Android applications: a large-scale empirical study
Fabiano Pecorelli, Gemma Catolino, Filomena Ferrucci, Andrea De Lucia, Fabio Palomba |
Empir. Softw. Eng. | 3 |
| 2022 | Static test flakiness prediction: How Far Can We Go?abstractAbstract Test flakiness is a phenomenon occurring when a test case is non-deterministic and exhibits both a passing and failing behavior when run against the same code. Over the last years, the problem has been closely investigated by researchers and practitioners, who all have shown its relevance in practice. The software engineering research community has been working toward defining approaches for detecting and addressing test flakiness. Despite being quite accurate, most of these approaches rely on expensive dynamic steps, e.g., the computation of code coverage information. Consequently, they might suffer from scalability issues that possibly preclude their practical use. This limitation has been recently targeted through machine learning solutions that could predict the flakiness of tests using various features, like source code vocabulary or a mixture of static and dynamic metrics computed on individual snapshots of the system. In this paper, we aim to perform a step forward and predict test flakiness only using static metrics. We propose a large-scale experiment on 70 Java projects coming from the iDFlakies and FlakeFlagger datasets. First, we statistically assess the differences between flaky and non-flaky tests in terms of 25 test and production code metrics and smells, analyzing both their individual and combined effects. Based on the results achieved, we experiment with a machine learning approach that predicts test flakiness solely based on static features, comparing it with two state-of-the-art approaches. The key results of the study show that the static approach has performance comparable to those of the baselines. In addition, we found that the characteristics of the production code might impact the performance of the flaky test prediction models. Valeria Pontillo, Fabio Palomba, Filomena Ferrucci |
Empir. Softw. Eng. | 3 |
| 2022 | On the use of artificial intelligence to deal with privacy in IoT systems: A systematic literature review
Giammaria Giordano, Fabio Palomba, Filomena Ferrucci |
J. Syst. Softw. | 3 |
| 2020 | Testing of Mobile Applications in the Wild: A Large-Scale Empirical Study on Android AppsabstractNowadays, mobile applications (a.k.a., apps) are used by over two billion users for every type of need, including social and emergency connectivity. Their pervasiveness in today's world has inspired the software testing research community in devising approaches to allow developers to better test their apps and improve the quality of the tests being developed. In spite of this research effort, we still notice a lack of empirical studies aiming at assessing the actual quality of test cases developed by mobile developers: this perspective could provide evidence-based findings on the current status of testing in the wild as well as on the future research directions in the field. As such, we performed a large-scale empirical study targeting 1,780 open-source Android apps and aiming at assessing (1) the extent to which these apps are actually tested, (2) how well-designed are the available tests, and (3) what is their effectiveness. The key results of our study show that mobile developers still tend not to properly test their apps. Furthermore, we discovered that the test cases of the considered apps have a low (i) design quality, both in terms of test code metrics and test smells, and (ii) effectiveness when considering code coverage as well as assertion density. Fabiano Pecorelli, Gemma Catolino, Filomena Ferrucci, Andrea De Lucia, Fabio Palomba |
ICPC | 3 |
| 2020 | Improving change prediction models with code smell-related information
Gemma Catolino, Fabio Palomba, Francesca Arcelli Fontana, Andrea De Lucia, Andy Zaidman, Filomena Ferrucci |
Empir. Softw. Eng. | 6 |
| 2020 | Third-party libraries in mobile apps
Pasquale Salza, Fabio Palomba, Dario Di Nucci, Andrea De Lucia, Filomena Ferrucci |
Empir. Softw. Eng. | 5 |
| 2020 | Assessing the effectiveness of approximate functional sizing approaches for effort estimation
Sergio Di Martino, Filomena Ferrucci, Carmine Gravino, Federica Sarro |
Inf. Softw. Technol. | 2 |
| 2020 | Design and automation of a COSMIC measurement procedure based on UML models
Gabriele De Vito, Filomena Ferrucci, Carmine Gravino |
Softw. Syst. Model. | 2 |
| 2019 | How the Experience of Development Teams Relates to Assertion Density of Test ClassesabstractThe impact of developers' experience on several development practices has been widely investigated in the past. One of the most promising research fields is software testing, as many researchers found significant correlations between developers' experience and testing effectiveness. In this paper, we aim at further studying this relation, by focusing on how development teams' experience is associated with the assertion density, i.e., the number of assertions per test class KLOC, that has previously been shown as an effective way to decrease fault density. We perform a mixed-methods empirical study. First, we devise a statistical model relating development teams' experience and other control factors to the assertion density of test classes belonging to 12 software projects. This model enables us to investigate whether experience comes out as a statistically significant factor to explain assertion density. Second, we contrast the statistical findings with a survey study conducted with 57 developers, who were asked their opinions on how developer's experience is related to the way they add assertions in test code. Our findings suggest the existence of a relationship: on the one hand, the development team's experience is a statistically significant factor in most of the systems that we have investigated; on the other hand, developers confirm the importance of experience and team composition for the effective testing of production code. Gemma Catolino, Fabio Palomba, Andy Zaidman, Filomena Ferrucci |
ICSME | 4 |
| 2019 | On the effectiveness of manual and automatic unit test generation: ten years laterabstractGood unit tests play a paramount role when it comes to foster and evaluate software quality. However, writing effective tests is an extremely costly and time consuming practice. To reduce such a burden for developers, researchers devised ingenious techniques to automatically generate test suite for existing code bases. Nevertheless, how automatically generated test cases fare against manually written ones is an open research question. In 2008, Bacchelli et.al. conducted an initial case study comparing automatic and manually generated test suites. Since in the last ten years we have witnessed a huge amount of work on novel approaches and tools for automatic test generation, in this paper we revise their study using current tools as well as complementing their research method by evaluating these tools' ability in finding regressions. Preprint [https://doi.org/10.5281/zenodo.2595232], dataset [https://doi.org/10.6084/m9.figshare.7628642]. Domenico Serra, Giovanni Grano, Fabio Palomba, Filomena Ferrucci, Harald C. Gall, Alberto Bacchelli |
MSR | 4 |
| 2019 | Can Expert Opinion Improve Effort Predictions When Exploiting Cross-Company Datasets? - A Case Study in a Small/Medium Company
Filomena Ferrucci, Carmine Gravino |
PROFES | 1 |
| 2019 | Speed up genetic algorithms in the cloud using software containers
Pasquale Salza, Filomena Ferrucci |
Future Gener. Comput. Syst. | 2 |
| 2019 | Not all bugs are the same: Understanding, characterizing, and classifying bug types
Gemma Catolino, Fabio Palomba, Andy Zaidman, Filomena Ferrucci |
J. Syst. Softw. | 4 |
| 2019 | An extensive evaluation of ensemble techniques for software change predictionabstractAbstract Predicting the areas of the source code having a higher likelihood to change in the future represents an important activity to allow developers to plan preventive maintenance operations. For this reason, several change prediction models have been proposed. Moreover, research community demonstrated how different classifiers impact on the performance of devised models as well as classifiers tend to perform similarly even though they are able to correctly predict the change proneness of different code elements, possibly indicating the presence of some complementarity among them. In this paper, we deeper investigated whether the use of ensemble approaches, ie, machine learning techniques able to combine multiple classifiers, can improve the performances of change prediction models. Specifically, we built three change prediction models based on different predictors, ie, product‐, process‐ metrics‐, and developer‐related factors, comparing the performances of four ensemble techniques (ie, Boosting, Random Forest, Bagging, and Voting) with those of standard machine learning classifiers (ie, Logistic Regression, Naive Bayes, Simple Logistic, and Multilayer Perceptron). The study was conducted on 33 releases of 10 open‐source systems, and the results showed how ensemble methods and in particular Random Forest provide a significant improvement of more than 10% in terms of F measure. Indeed, the statistical analyses conducted confirm the superiority of this ensemble technique. Moreover, the model built using developer‐related factors performed better than the other models that exploit product and process metrics and achieves an overall median of F measure around 77%. Gemma Catolino, Filomena Ferrucci |
J. Softw. Evol. Process. | 2 |
| 2018 | Do developers update third-party libraries in mobile apps?abstractOne of the most common strategies to develop new software is to take advantage of existing source code, which is available in comprehensive packages called third-party libraries. As for all software systems, even these libraries change to offer new functionalities and fix bugs or security issues. The way the changes are propagated has been studied by researchers, interested in understanding their impact on the non-functional attributes of the systems source code. While the research community mainly focused on the change propagation phenomenon in the context of traditional applications, only little is known regarding the mobile context. In this paper, we aim at bridging this gap by conducting an empirical study on the evolution history of 291 mobile apps, by investigating (i) whether mobile developers actually update third-party libraries, (ii) which are the categories of libraries with respect to the developers' proneness to update their apps, (iii) what are the common patterns followed by developers when updating a software library, and (iv) whether high- and low-rated apps present peculiar update patterns. The results of the study showed that mobile developers rarely update their apps with respect to the used libraries, and when they do, they mainly tend to update the libraries related to the Graphical User Interface, with the aim of keeping the mobile apps updated with the latest design tendencies. In some cases developers ignore updates because of a poor awareness of the benefits, or a too high cost/benefit ratio. Finally, high- and low-rated apps present strong differences. Pasquale Salza, Fabio Palomba, Dario Di Nucci, Cosmo D'Uva, Andrea De Lucia, Filomena Ferrucci |
ICPC | 6 |
| 2018 | Using Hadoop MapReduce for Parallel Genetic Algorithms: A Comparison of the Global, Grid and Island ModelsabstractThe need to improve the scalability of Genetic Algorithms (GAs) has motivated the research on Parallel Genetic Algorithms (PGAs), and different technologies and approaches have been used. Hadoop MapReduce represents one of the most mature technologies to develop parallel algorithms. Based on the fact that parallel algorithms introduce communication overhead, the aim of the present work is to understand if, and possibly when, the parallel GAs solutions using Hadoop MapReduce show better performance than sequential versions in terms of execution time. Moreover, we are interested in understanding which PGA model can be most effective among the global, grid, and island models. We empirically assessed the performance of these three parallel models with respect to a sequential GA on a software engineering problem, evaluating the execution time and the achieved speedup. We also analysed the behaviour of the parallel models in relation to the overhead produced by the use of Hadoop MapReduce and the GAs' computational effort, which gives a more machine-independent measure of these algorithms. We exploited three problem instances to differentiate the computation load and three cluster configurations based on 2, 4, and 8 parallel nodes. Moreover, we estimated the costs of the execution of the experimentation on a potential cloud infrastructure, based on the pricing of the major commercial cloud providers. The empirical study revealed that the use of PGA based on the island model outperforms the other parallel models and the sequential GA for all the considered instances and clusters. Using 2, 4, and 8 nodes, the island model achieves an average speedup over the three datasets of 1.8, 3.4, and 7.0 times, respectively. Hadoop MapReduce has a set of different constraints that need to be considered during the design and the implementation of parallel algorithms. The overhead of data store (i.e., HDFS) accesses, communication, and latency requires solutions that reduce data store operations. For this reason, the island model is more suitable for PGAs than the global and grid model, also in terms of costs when executed on a commercial cloud provider. Filomena Ferrucci, Pasquale Salza, Federica Sarro |
Evol. Comput. | 1 |
| 2018 | Definition and evaluation of a COSMIC measurement procedure for sizing Web applications in a model-driven development environment
Silvia Abrahão, Lucia De Marco, Filomena Ferrucci, Jaime Gómez, Carmine Gravino, Federica Sarro |
Inf. Softw. Technol. | 3 |
| 2018 | Enhancing change prediction models using developer-related factors
Gemma Catolino, Fabio Palomba, Andrea De Lucia, Filomena Ferrucci, Andy Zaidman |
J. Syst. Softw. | 4 |
| 2017 | Recommending and localizing change requests for mobile apps based on user reviewsabstractResearchers have proposed several approaches to extract information from user reviews useful for maintaining and evolving mobile apps. However, most of them just perform automatic classification of user reviews according to specific keywords (e.g., bugs, features). Moreover, they do not provide any support for linking user feedback to the source code components to be changed, thus requiring a manual, time-consuming, and error-prone task. In this paper, we introduce CHANGEADVISOR, a novel approach that analyzes the structure, semantics, and sentiments of sentences contained in user reviews to extract useful (user) feedback from maintenance perspectives and recommend to developers changes to software artifacts. It relies on natural language processing and clustering algorithms to group user reviews around similar user needs and suggestions for change. Then, it involves textual based heuristics to determine the code artifacts that need to be maintained according to the recommended software changes. The quantitative and qualitative studies carried out on 44,683 user reviews of 10 open source mobile apps and their original developers showed a high accuracy of CHANGEADVISOR in (i) clustering similar user change requests and (ii) identifying the code components impacted by the suggested changes. Moreover, the obtained results show that ChangeAdvisor is more accurate than a baseline approach for linking user feedback clusters to the source code in terms of both precision (+47%) and recall (+38%). Fabio Palomba, Pasquale Salza, Adelina Ciurumelea, Sebastiano Panichella, Harald C. Gall, Filomena Ferrucci, Andrea De Lucia |
ICSE | 6 |
| 2017 | Developer-related factors in change prediction: an empirical assessmentabstractPredicting the areas of the source code having a higher likelihood to change in the future is a crucial activity to allow developers to plan preventive maintenance operations such as refactoring or peer-code reviews. In the past the research community was active in devising change prediction models based on structural metrics extracted from the source code. More recently, Elish et al. showed how evolution metrics can be more efficient for predicting change-prone classes. In this paper, we aim at making a further step ahead by investigating the role of different developer-related factors, which are able to capture the complexity of the development process under different perspectives, in the context of change prediction. We also compared such models with existing change-prediction models based on evolution and code metrics. Our findings reveal the capabilities of developer-based metrics in identifying classes of a software system more likely to be changed in the future. Moreover, we observed interesting complementarities among the experimented prediction models, that may possibly lead to the definition of new combined models exploiting developer-related factors as well as product and evolution metrics. Gemma Catolino, Fabio Palomba, Andrea De Lucia, Filomena Ferrucci, Andy Zaidman |
ICPC | 4 |
| 2017 | A study on the statistical convertibility of IFPUG Function Point, COSMIC Function Point and Simple Function Point
Abedallah Zaid Abualkishik, Filomena Ferrucci, Carmine Gravino, Luigi Lavazza, Roberto Meli, Gabriela Robiolo |
Inf. Softw. Technol. | 2 |
| 2017 | Adaptive Multi-Objective Evolutionary Algorithms for Overtime Planning in Software ProjectsabstractSoftware engineering and development is well-known to suffer from unplanned overtime, which causes stress and illness in engineers and can lead to poor quality software with higher defects. Recently, we introduced a multi-objective decision support approach to help balance project risks and duration against overtime, so that software engineers can better plan overtime. This approach was empirically evaluated on six real world software projects and compared against state-of-the-art evolutionary approaches and currently used overtime strategies. The results showed that our proposal comfortably outperformed all the benchmarks considered. This paper extends our previous work by investigating adaptive multi-objective approaches to meta-heuristic operator selection, thereby extending and (as the results show) improving algorithmic performance. We also extended our empirical study to include two new real world software projects, thereby enhancing the scientific evidence for the technical performance claims made in the paper. Our new results, over all eight projects studied, showed that our adaptive algorithm outperforms the considered state of the art multi-objective approaches in 93 percent of the experiments (with large effect size). The results also confirm that our approach significantly outperforms current overtime planning practices in 100 percent of the experiments (with large effect size). Federica Sarro, Filomena Ferrucci, Mark Harman, Alessandra Manna, Jian Ren 0004 |
IEEE Trans. Software Eng. | 2 |
| 2016 | Towards Automatic Service Level Agreements Information Extractionabstract6th International Conference on Cloud Computing and Services Science, Rome, Italy, 23-25 April 2016 Lucia De Marco, Filomena Ferrucci, M. Tahar Kechadi, Gennaro Napoli, Pasquale Salza |
CLOSER (2) | 2 |
| 2016 | Web Effort Estimation: Function Point Analysis vs. COSMIC
Sergio Di Martino, Filomena Ferrucci, Carmine Gravino, Federica Sarro |
Inf. Softw. Technol. | 2 |
| 2015 | SLAFM - A Service Level Agreement Formal Model for Cloud Computing
Lucia De Marco, Filomena Ferrucci, M. Tahar Kechadi |
CLOSER | 2 |
| 2015 | How to Make Best Use of Cross-Company Data for Web Effort Estimation?abstract[Context]: The numerous challenges that can hinder software companies from gathering their own data have motivated over the past 15 years research on the use of cross-company (CC) datasets for software effort prediction. Part of this research focused on Web effort prediction, given the large increase worldwide in the development of Web applications. Some of these studies indicate that it may be possible to achieve better performance using CC models if some strategy to make the CC data more similar to the within-company (WC) data is adopted. [Goal]: This study investigates the use of a recently proposed approach called Dycom to assess to what extent Web effort predictions obtained using CC datasets are effective in relation to the predictions obtained using WC data when explicitly mapping the CC models to the WC context. [Method]: Data on 125 Web projects from eight different companies part of the Tukutuku database were used to build prediction models. We benchmarked these models against baseline models (mean and median effort) and a WC base learner that does not benefit of the mapping. We also compared Dycom against a competitive CC approach from the literature (NN-filtering). We report a company-by- company analysis. [Results]: Dycom usually managed to achieve similar or better performance than a WC model while using only half of the WC training data. These results are also an improvement over previous studies that investigated the use of different strategies to adapt CC models to the WC data for Web effort estimation. [Conclusions]: We conclude that the use of Dycom for Web effort prediction is quite promising and in general supports previous results when applying Dycom to conventional software datasets. Leandro L. Minku, Federica Sarro, Emilia Mendes, Filomena Ferrucci |
ESEM | 4 |
| 2015 | From Function Points to COSMIC - A Transfer Learning Approach for Effort Estimation
Anna Corazza, Sergio Di Martino, Filomena Ferrucci, Carmine Gravino, Federica Sarro |
PROFES | 3 |
| 2015 | Investigating Functional and Code Size Measures for Mobile Applications: A Replicated Study
Filomena Ferrucci, Carmine Gravino, Pasquale Salza, Federica Sarro |
PROFES | 1 |
| 2014 | Cross- vs. within-company cost estimation studies revisited: an extended systematic reviewabstract[Objective] The objective of this paper is to extend a previously conducted systematic literature review (SLR) that investigated under what circumstances individual organizations would be able to rely on cross-company based estimation models. [Method] We applied the same methodology used in the SLR we are extending herein (covering the period 2006-2013) based on primary studies that compared predictions from cross-company models with predictions from within-company models constructed from analysis of project data. [Results] We identified 11 additional papers; however two of these did not present independent results and one had inconclusive findings. Two of the remaining eight papers presented both, trials where cross-company predictions were not significantly different from within-company predictions and others where they were significantly different. Four found that cross-company models gave prediction accuracy significantly different from within-company models (one of them in favor of cross-company models), while two found no significant difference. The main pattern when examining the study related factors was that studies where cross-company predictions were significantly different from within-company predictions employed larger within-company data sets. [Conclusions] Overall, half of the analyzed evidence indicated that cross-company estimation models are not significantly worse than within-company estimation models. Moreover, there is some evidence that sample size does not imply in higher estimation accuracy, and that samples for building estimation models should be carefully selected/filtered based on quality control and project similarity aspects. The results need to be combined with the findings from the SLR we are extending to allow further investigating this topic. Emilia Mendes, Marcos Kalinowski, Daves Martins, Filomena Ferrucci, Federica Sarro |
EASE | 4 |
| 2013 | Cloud Forensic Readiness: Foundations
Lucia De Marco, M. Tahar Kechadi, Filomena Ferrucci |
ICDF2C | 3 |
| 2013 | Not going to take this anymore: multi-objective overtime planning for software engineering projectsabstractSoftware Engineering and development is well-known to suffer from unplanned overtime, which causes stress and illness in engineers and can lead to poor quality software with higher defects. In this paper, we introduce a multi-objective decision support approach to help balance project risks and duration against overtime, so that software engineers can better plan overtime. We evaluate our approach on 6 real world software projects, drawn from 3 organisations using 3 standard evaluation measures and 3 different approaches to risk assessment. Our results show that our approach was significantly better (p <; 0.05) than standard multi-objective search in 76% of experiments (with high Cohen effect size in 85% of these) and was significantly better than currently used overtime planning strategies in 100% of experiments (with high effect size in all). We also show how our approach provides actionable overtime planning results and investigate the impact of the three different forms of risk assessment. Filomena Ferrucci, Mark Harman, Jian Ren 0004, Federica Sarro |
ICSE | 1 |
| 2013 | Using tabu search to configure support vector regression for effort estimationabstractRecent studies have reported that Support Vector Regression (SVR) has the potential as a technique for software development effort estimation. However, its prediction accuracy is heavily influenced by the setting of parameters that needs to be done when employing it. No general guidelines are available to select these parameters, whose choice also depends on the characteristics of the dataset being used. This motivated the work described in (Corazza et al. 2010 ), extended herein. In order to automatically select suitable SVR parameters we proposed an approach based on the use of the meta-heuristics Tabu Search (TS). We designed TS to search for the parameters of both the support vector algorithm and of the employed kernel function, namely RBF. We empirically assessed the effectiveness of the approach using different types of datasets (single and cross-company datasets, Web and not Web projects) from the PROMISE repository and from the Tukutuku database. A total of 21 datasets were employed to perform a 10-fold or a leave-one-out cross-validation, depending on the size of the dataset. Several benchmarks were taken into account to assess both the effectiveness of TS to set SVR parameters and the prediction accuracy of the proposed approach with respect to widely used effort estimation techniques. The use of TS allowed us to automatically obtain suitable parameters’ choices required to run SVR. Moreover, the combination of TS and SVR significantly outperformed all the other techniques. The proposed approach represents a suitable technique for software development effort estimation. Anna Corazza, Sergio Di Martino, Filomena Ferrucci, Carmine Gravino, Federica Sarro, Emilia Mendes |
Empir. Softw. Eng. | 3 |
| 2012 | A Parallel Genetic Algorithm Based on Hadoop MapReduce for the Automatic Generation of JUnit Test SuitesabstractSoftware testing represents one of the most explored fields of application of Search-Based techniques and a range of testing problems have been successfully addressed using Genetic Algorithms. Nevertheless, to date Search-Based Software Testing (SBST) has found limited application in industry. As in other fields of Search-Based Software Engineering, this is principally due to the fact that when applied to large problems, Search-Based approaches may require too much computational efforts. In this scenario, parallelization may be a suitable way to improve the performance especially due to the fact that many of these techniques are "naturally parallelizable". Nevertheless, very few attempts have been provided for SBST parallelization.In this paper, we present a Parallel Genetic Algorithm for the automatic generation of test suites. The solution is based on Hadoop MapReduce since it is well supported to work also in the cloud and on graphic cards, thus being an ideal candidate for high scalable parallelization of Genetic Algorithms. A preliminary analysis of the proposal was carried outaiming to evaluate the speed-up with respect to the sequential execution. The analysis was based on a real world open source library. Linda Di Geronimo, Filomena Ferrucci, Alfonso Murolo, Federica Sarro |
ICST | 2 |
| 2011 | Using Web Objects for Development Effort Estimation of Web Applications: A Replicated Study
Sergio Di Martino, Filomena Ferrucci, Carmine Gravino, Federica Sarro |
PROFES | 2 |
| 2011 | A Genetic Algorithm to Configure Support Vector Machines for Predicting Fault-Prone Components
Sergio Di Martino, Filomena Ferrucci, Carmine Gravino, Federica Sarro |
PROFES | 2 |
| 2011 | How Multi-Objective Genetic Programming Is Effective for Software Development Effort Estimation?
Filomena Ferrucci, Carmine Gravino, Federica Sarro |
SSBSE | 1 |
| 2011 | Investigating the use of Support Vector Regression for web effort estimation
Anna Corazza, Sergio Di Martino, Filomena Ferrucci, Carmine Gravino, Emilia Mendes |
Empir. Softw. Eng. | 3 |
| 2009 | Applying support vector regression for web effort estimation using a cross-company datasetabstractSupport vector regression (SVR) is a new generation of machine learning algorithms, suitable for predictive data modeling problems. The objective of this paper is to investigate the effectiveness of SVR for Web effort estimation, in particular when dealing with a cross-company dataset. To gain a deeper insight on the method, we carried out an empirical study using four kernels for SVR, namely linear, polynomial, Gaussian, and sigmoid. Moreover, we used two variables' preprocessing strategies (normalization and logarithmic), and two different dependent variables (effort and inverse effort). As a result, SVR was applied using six different configurations for each kernel. As for the dataset, we employed the Tukutuku database, which is widely adopted in Web effort estimation studies. A hold-out approach was adopted to evaluate the prediction accuracy for all the configurations, using two training sets, each containing data on 130 projects randomly selected, and two test sets, each containing the remaining 65 projects. As benchmark, SVR-based predictions were also compared to predictions obtained using manual stepwise regression, case-based reasoning, and Bayesian networks. Our results suggest that SVR performed well, since on the first hold-out, the linear kernel with a logarithmic transformation of variables provided significantly superior prediction accuracy than all the other techniques, while for the second hold-out, the Gaussian kernel achieved significantly superior predictions than all other techniques, except for manual stepwise regression. Anna Corazza, Sergio Di Martino, Filomena Ferrucci, Carmine Gravino, Emilia Mendes |
ESEM | 3 |
| 2009 | An Empirical Study on the Use of Web-COBRA and Web Objects to Estimate Web Application Development Effort
Sergio Di Martino, Filomena Ferrucci, Carmine Gravino |
ICWE | 2 |
| 2009 | Using Support Vector Regression for Web Development Effort Estimation
Anna Corazza, Sergio Di Martino, Filomena Ferrucci, Carmine Gravino, Emilia Mendes |
IWSM/Mensura | 3 |
| 2009 | Using Tabu Search to Estimate Software Development Effort
Filomena Ferrucci, Carmine Gravino, Rocco Oliveto, Federica Sarro |
IWSM/Mensura | 1 |
| 2009 | Automatic Generation of an Adaptive WebGIS
Sergio Di Martino, Filomena Ferrucci, Gavin McArdle, Giacomo Petillo |
W2GIS | 2 |
| 2009 | Measures and Techniques for Effort Estimation of Web Applications: an Empirical Study Based on a Single-Company Dataset
Sergio Di Martino, Filomena Ferrucci, Carmine Gravino, Emilia Mendes |
J. Web Eng. | 2 |
| 2008 | Cross-company vs. single-company web effort models using the Tukutuku database: An extended study
Emilia Mendes, Sergio Di Martino, Filomena Ferrucci, Carmine Gravino |
J. Syst. Softw. | 3 |
| 2008 | Boosting Computer Managed Instruction Functionalities Adoption in e-Learning Systems
Gennaro Costagliola, Filomena Ferrucci, Vittorio Fuccella |
J. Web Eng. | 2 |
| 2007 | Comparing Size Measures for Predicting Web Application Development Effort: A Case StudyabstractSize represents one of the most important attribute of software products used to predict software development effort. In the past nine years, several measures have been proposed to estimate the size of Web applications, and it is important to determine which one is most effective to predict Web development effort. To this aim in this paper we report on an empirical analysis where, using data from 15 Web projects developed by a software company, we compare four sets of size measures, using two prediction techniques, namely Forward Stepwise Regression (SWR) and Case-Based Reasoning (CBR). All the measures provided good predictions in terms of MMRE, MdMRE, and Pred(0.25) statistics, for both SWR and CBR. Moreover, when using SWR, length measures and Web Objects gave significant better results than Functional measures, however presented similar results to the Tukutuku measures. As for CBR, results did not show any significant differences amongst the four sets of size measures. Sergio Di Martino, Filomena Ferrucci, Carmine Gravino, Emilia Mendes |
ESEM | 2 |
| 2007 | Towards the automatic generation of web GISabstractIn the present paper, we propose an approach for the development of Web GIS based on WebML, a high-level, formal visual language specifically conceived to design data-intensive Web applications. The proposal is motivated by the observation that Web GIS can be considered as a particular class of data-intensive Web applications. In the paper, we describe the extension of the visual formalism for modeling relevant interaction and navigation operations typical of Web GIS. Sergio Di Martino, Filomena Ferrucci, Luca Paolino, Monica Sebillo, Genny Tortora, Giuliana Vitiello, Giuseppe Avagliano |
GIS | 2 |
| 2007 | A WebML-based Visual Language for the Development of Web GIS ApplicationsabstractIn the present paper, we propose a visual language meant to support the design of Web GIS applications. The proposal is based on the observation that Web GIS can be considered as a particular class of data- intensive Web applications, since they are mainly devoted to handle (spatial) information to and from the user. The success of WebML (Web Modeling Language) for designing traditional data-intensive Web applications suggested us to extend this visual formalism to model relevant interaction and navigation operations typical of Web GIS. The proposed extension consists of a set of content units specifically tailored for GIS concepts and tasks. Sergio Di Martino, Filomena Ferrucci, Luca Paolino, Monica Sebillo, Giuliana Vitiello, Giuseppe Avagliano |
VL/HCC | 2 |
| 2007 | Log4p: An Innovative Logger Framework for Web Portals - Towards New Metrics for Web Portals
Gennaro Costagliola, Filomena Ferrucci, Vittorio Fuccella, Luigi Zurolo |
WEBIST (2) | 2 |
| 2007 | A WebML-Based Approach for the Development of Web GIS Applications
Sergio Di Martino, Filomena Ferrucci, Luca Paolino, Monica Sebillo, Giuliana Vitiello, Giuseppe Avagliano |
WISE | 2 |
| 2007 | A Replicated Study Comparing Web Effort Estimation Techniques
Emilia Mendes, Sergio Di Martino, Filomena Ferrucci, Carmine Gravino |
WISE | 3 |
| 2007 | Effort estimation: how valuable is it for a web company to use a cross-company data set, compared to using its own single-company data set?abstractPrevious studies comparing the prediction accuracy of effort models built using Web cross- and single-company data sets have been inconclusive, and as such replicated studies are necessary to determine under what circumstances a company can place reliance on a cross-company effort model. This paper therefore replicates a previous study by investigating how successful a cross-company effort model is: i) to estimate effort for Web projects that belong to a single company and were not used to build the cross-company model; ii) compared to a single-company effort model. Our single-company data set had data on 15 Web projects from a single company and our cross-company data set had data on 68 Web projects from 25 different companies. The effort estimates used in our analysis were obtained by means of two effort estimation techniques, namely forward stepwise regression and case-based reasoning. Our results were similar to those from the replicated study, showing that predictions based on the single-company model were significantly more accurate than those based on the cross-company model. Emilia Mendes, Sergio Di Martino, Filomena Ferrucci, Carmine Gravino |
WWW | 3 |
| 2007 | Towards a framework for mining and analysing spatio-temporal datasetsabstractHigh‐resolution spatio‐temporal datasets are being collected every day to record the behaviour of several natural phenomena. However, data‐mining techniques are needed to extract relevant patterns from very large repositories and reveal spatial and temporal patterns in the behaviour of these phenomena. To this aim, we propose a system for mining data with spatial and temporal characteristics, and for visualizing and interpreting the results. Within this system, we have developed two complementary 3D visualization environments, one based on Google Earth and one relying on a Java3D graphical user interface. In this paper, we illustrate the main features of the system we have developed, and report on the main results we have obtained by analysing the Hurricane Isabel dataset. Michela Bertolotto, Sergio Di Martino, Filomena Ferrucci, M. Tahar Kechadi |
Int. J. Geogr. Inf. Sci. | 3 |
| 2006 | Case Studies on the Support of Computer Managed Instruction Functionalities in e-Learning SystemsabstractThe term computer managed instruction (CMI) often refers to a set of functionalities which allow learning objects to be launched in the learning management system and to exchange data with it. A framework for the support of CMI functionalities in learning management systems, named CMIFramework, has been developed at the University of Salerno. In this paper, we present two case studies concerning the adoption of CMI functionalities, using CMIFramework, in different e-learning contexts. Our present work is aimed at demonstrating the ease in using the framework and its power in solving several problems connected to the adoption of CMI functionalities Gennaro Costagliola, Filomena Ferrucci, Vittorio Fuccella |
ICALT | 2 |
| 2006 | Assessing the Usability of a Tool for Developing Adaptive E-learning Processes: an Empirical AnalysisabstractThe correlation between the effort to develop a learning process and early size measures could be used to assess the usability of an employed tool. In particular, when the measures are obtained from the learning process specification and they are relevant effort indicators we can assert that the technical competences of instructional designers are not relevant for the tool usage. We present initial results of applying empirical analysis to confirm a previously usability study performed on the ASCLO-S (Adaptive Self consistent Learning Object SET) editor, a visual language based tool for developing adaptive learning processes. Gennaro Costagliola, Andrea De Lucia, Filomena Ferrucci, Carmine Gravino, Giuseppe Scanniello |
ICALT | 3 |
| 2006 | Scorm run-time environment as a serviceabstractStandardization efforts in e-learning are aimed at achieving interoperability among Learning Management Systems (LMSs) and Learning Object (LO) authoring tools. Some of the specifications produced have reached quite a good maturity level and have been adopted in software systems. Some others, such as SCORM Run-Time Environment (RTE), have not reached the same success, probably due to their intrinsic difficulty in being understood adequately and implemented properly. The SCORM RTE defines a set of functionalities which allow LOs to be launched in the LMS and to exchange data with it. Its adoption is crucial in the achievement of full interoperability among LMSs and LO authoring tools. In order to boost the adoption of SCORM RTE in LMSs, we propose a Service Oriented Architecture (SOA)-based reference model for offering the SCORM RTE functionalities as a service, external to the LMS. By externalizing functionalities from LMSs, our model encourages the independent development of e-learning system components, allowing e-learning software producers to gain several benefits, such as better software re-use and easier integration and complexity management, with a consequent cost reduction. The proposed model is validated through a prototype system, in which a popular LMS, developed with PHP language, is enhanced with the support of SCORM RTE functionalities, provided by an external Web service based on Java technology. Gennaro Costagliola, Filomena Ferrucci, Vittorio Fuccella |
ICWE | 2 |
| 2006 | Effort estimation modeling techniques: a case study for web applicationsabstractA reliable effort estimation is crucial for a successful web application development planning. Several approaches exist to address this issue. Among them, the algorithmic approach is one of the most widely used and investigated methods. It is based on suitable effort prediction models which relate the development effort with project characteristics. The size represents one of the most interesting characteristics of software products and several measures can be defined in order to estimate the size of web systems. Moreover, several techniques have been proposed in the literature to build the effort prediction models. Thus, of special interest should be to establish the most effective size measures to be employed in effort prediction models and the most suitable techniques for the model construction. To this aim some empirical studies have been undertaken so far. Since it is widely recognized that several investigations should be performed to verify/confirm empirical results, in the paper we will report on an empirical analysis we have carried out by exploiting data coming from 15 web projects developed by a software company. In particular, for the analysis we have considered two sets of size measures: Length Measures (e.g. number of pages, number of medias, number of client and server side scripts) and Functional Measures (e.g. external input, external output, external query). Moreover, we have employed different techniques, such as Linear Regression, Regression Tree, and Analogy-Based Estimation, in order to determine the one that provides the best prediction. Gennaro Costagliola, Sergio Di Martino, Filomena Ferrucci, Carmine Gravino, Genny Tortora, Giuliana Vitiello |
ICWE | 3 |
| 2006 | A COSMIC-FFP Approach to Predict Web Application Development Effort
Gennaro Costagliola, Sergio Di Martino, Filomena Ferrucci, Carmine Gravino, Genny Tortora, Giuliana Vitiello |
J. Web Eng. | 3 |
| 2006 | Constructing Meta-CASE Workbenches by Exploiting Visual Language GeneratorsabstractIn this paper, we propose an approach for the construction of meta-CASE workbenches, which suitably integrates the technology of visual language generation systems, UML metamodeling, and interoperability techniques based on the GXL (graph exchange language) format. The proposed system consists of two major components. Environments for single visual languages are generated by using the modeling language environment generator (MEG), which follows a metamodel/grammar-approach. The abstract syntax of a visual language is defined by UML class diagrams, which serve as a base for the grammar specification of the language. The workbench generator (WoG) allows designers to specify the target workbench by means of a process model given in terms of a suitable activity diagram. Starting from the supplied specification WoG generates the customized workbench by integrating the required environments. Gennaro Costagliola, Vincenzo Deufemia, Filomena Ferrucci, Carmine Gravino |
IEEE Trans. Software Eng. | 3 |
| 2005 | A Methodology to Build E-Learning Multimedia Resources
Giovanni Casella, Gennaro Costagliola, Filomena Ferrucci |
WEBIST | 3 |
| 2005 | A Cosmic-FFP Approach to Estimate WEB Application Development Effort
Gennaro Costagliola, Sergio Di Martino, Filomena Ferrucci, Carmine Gravino, Genny Tortora, Giuliana Vitiello |
WEBIST | 3 |
| 2005 | Adding symbolic information to picture models: definitions and properties
Gennaro Costagliola, Filomena Ferrucci, Carmine Gravino |
Theor. Comput. Sci. | 2 |
| 2005 | Class Point: An Approach for the Size Estimation of Object-Oriented SystemsabstractIn this paper, we present an FP-like approach, named class point, which was conceived to estimate the size of object-oriented products. In particular, two measures are proposed, which are theoretically validated showing that they satisfy well-known properties necessary for size measures. An initial, empirical validation is also performed, meant to assess the usefulness and effectiveness of the proposed measures to predict the development effort of object-oriented systems. Moreover, a comparative analysis is carried out, taking into account several other size measures. Gennaro Costagliola, Filomena Ferrucci, Genny Tortora, Giuliana Vitiello |
IEEE Trans. Software Eng. | 2 |
| 2004 | A COSMIC-FFP Based Method to Estimate Web Application Development Effort
Gennaro Costagliola, Filomena Ferrucci, Carmine Gravino, Genny Tortora, Giuliana Vitiello |
ICWE | 2 |
| 2004 | Handy: A New Interaction Device for Vehicular Information Systems
Gennaro Costagliola, Sergio Di Martino, Filomena Ferrucci, Giuseppe Oliviero, Umberto Montemurro, Alessandro Paliotti |
Mobile HCI | 3 |
| 2004 | Using COSMIC-FFP for Predicting Web Application Development Effort
Gennaro Costagliola, Filomena Ferrucci, Carmine Gravino, Genny Tortora, Giuliana Vitiello |
SEKE | 2 |
| 2003 | An Evaluation of Web3d Technologies from Developer's and End-User's Point of View
Gennaro Costagliola, Sergio Di Martino, Filomena Ferrucci |
SEKE | 3 |
| 2003 | On regular drawn symbolic picture languages
Gennaro Costagliola, Vincenzo Deufemia, Filomena Ferrucci, Carmine Gravino |
Inf. Comput. | 3 |
| 2003 | Guest Editors' Introduction
Filomena Ferrucci, Giuliana Vitiello |
Int. J. Softw. Eng. Knowl. Eng. | 1 |
| 2002 | Using extended positional grammars to develop visual modeling languagesabstractIn this paper we present the approach based on the formalism of Extended Positional Grammars for specifying, designing and implementing visual modeling languages. In order to stress the main characteristics of the approach and highlight its power, we describe the use of the formalism to implement statecharts languages which represent one of the most complex visual modeling languages used in the software engineering field. In the paper special emphasis is put on describing the benefits deriving from the use of such formal specifications such as incrementality, easy customization, and automatic generation of visual programming environments. Such features turn out to be especially important because visual modeling languages are subjected to continuous changes as the history of statecharts languages and UML diagrams shows. Moreover, visual languages can be effectively used only if they are supported by a powerful visual environment within they are embedded and used. Gennaro Costagliola, Vincenzo Deufemia, Filomena Ferrucci, Carmine Gravino |
SEKE | 3 |
| 2002 | An approach for authoring 3D cultural heritage exhibitions on the webabstractThe development of desktop virtual reality cultural exhibitions on the web is a challenging process, because it requires a collection of skills, ranging from art to 3D Internet technologies, and involves a variety of tasks. The need of suited approaches able to support the development of such exhibitions has motivated the introduction of the approach proposed in the paper. Such an approach is characterized by a strong attention towards the content experts, by a clear identification of the actors involved in the development process, and by a set of visual modeling languages, which support the high-level design of the exhibition and allow a more effective communication between the heterogeneous members of the project. Such modeling languages have been embedded in an authoring system which profitably supports the main figures to carry out their tasks. Gennaro Costagliola, Sergio Di Martino, Filomena Ferrucci, Fabio Pittarello |
SEKE | 3 |
| 2001 | Decidability of the consistency problem for regular symbolic picture description languages
Gennaro Costagliola, Vincenzo Deufemia, Filomena Ferrucci, Carmine Gravino |
Inf. Process. Lett. | 3 |
| 2001 | On redundancy elimination tolerant scheduling rulesabstractIn Ferrucci, Pacini and Sessa (1995) an extended form of resolution, called Reduced SLD resolution (RSLD), is introduced. In essence, an RSLD derivation is an SLD derivation such that redundancy elimination from resolvents is performed after each rewriting step. It is intuitive that redundancy elimination may have positive effects on derivation process. However, undesiderable effects are also possible. In particular, as shown in this paper, program termination as well as completeness of loop checking mechanisms via a given selection rule may be lost. The study of such effects has led us to an analysis of selection rule basic concepts, so that we have found convenient to move the attention from rules of atom selection to rules of atom scheduling. A priority mechanism for atom scheduling is built, where a priority is assigned to each atom in a resolvent, and primary importance is given to the event of arrival of new atoms from the body of the applied clause at rewriting time. This new computational model proves able to address the study of redundancy elimination effects, giving at the same time interesting insights into general properties of selection rules. As a matter of fact, a class of scheduling rules, namely the specialisation independent ones, is defined in the paper by using not trivial semantic arguments. As a quite surprising result, specialisation independent scheduling rules turn out to coincide with a class of rules which have an immediate structural characterisation (named stack-queue rules). Then we prove that such scheduling rules are tolerant to redundancy elimination, in the sense that neither program termination nor completeness of equality loop check is lost passing from SLD to RSLD. Filomena Ferrucci, Giuliano Pacini, Maria I. Sessa |
Theory Pract. Log. Program. | 1 |
| 2000 | A Metric for the Size Estimation of Object-Oriented Graphical User InterfacesabstractIn order to achieve quality products with reliable cost and effort estimations, one of the main tasks for planning software project development is size estimation. This is especially true when dealing with interactive applications which represent critical components in a software project. In the paper, we address the problem of the size estimation of interactive graphical applications developed using the object-oriented methodology. In particular, we define and validate a metric, the Class Point metric, for estimating the size of object-oriented GUIs. The method is based on the idea of quantifying classes in a program analogous to function counting performed by the function point metric. Theoretical validation has proven the consistency of the Class Point metric as size measure. Empirical validation provides evidence that the Class Point metric is a useful measure for OO software size. Gennaro Costagliola, Filomena Ferrucci, Genny Tortora, Giuliana Vitiello |
Int. J. Softw. Eng. Knowl. Eng. | 2 |
| 1999 | Grammatical Inference for the Automatic Generation of Visual LanguagesabstractIn this paper we address the problem of the automatic generation of visual languages from a sample set of visual sentences. We present an improvement of the inference module of the VLG system which was originally conceived for the generation of iconic languages [11]. With this extension any kind of visual languages, like diagrams and forms, can be considered. To this aim, we present an inference algorithm for the class of Boundary SR grammars. These grammars are a subclass of the SR grammars with the interesting property of confluence, which extends the concept of context-freeness to the case of nonlinear grammars. Moreover, in spite of the simplicity and naturalness of the formalism, the generative power of this class is sufficient to specify interesting visual languages. The inference algorithm exploits an elegant characterization of Boundary SR languages in terms of tree and string languages. More precisely, we show that a visual language is a Boundary SR language if and only if it can be defined as a regular tree language and a set of properly associated string languages. Based on this result, the problem of identifying structural properties in a diagrammatic visual sentence is brought back to the detection of structural properties in tree and string languages. The main advantage coming from the use of a grammatical inference technique in visual language specification is that the designer only needs to specify a set of visual sentences that he/she feels to sufficiently exemplify the intended target language. Filomena Ferrucci, Giuliana Vitiello |
Int. J. Softw. Eng. Knowl. Eng. | 1 |
| 1996 | Symbol-Relation Grammars: A Formalism for Graphical Languages
Filomena Ferrucci, Giuliano Pacini, Giorgio Satta, Maria I. Sessa, Genny Tortora, Maurizio Tucci, Giuliana Vitiello |
Inf. Comput. | 1 |
| 1996 | Semantics-Based Inference Algorithms for Adaptive Visual EnvironmentsabstractThe paper presents a grammatical inference methodology for the generation of visual languages, that benefits from the availability of semantic information about the sample sentences. Several well-known syntactic inference algorithms are shown to obey a general inference scheme, which the authors call the Gen-Inf scheme. Then, all the algorithms of the Gen-Inf scheme are modified in agreement with the introduced semantics-based inference methodology. The use of grammatical inference techniques in the design of adaptive user interfaces was previously experimented with the VLG system for visual language generation. The system is a powerful tool for specifying, designing, and interpreting customized visual languages for different applications. They enhance the adaptivity of the VLG system to any visual environment by exploiting the proposed semantics-based inference methodology. As a matter of fact, a more general model of visual language generation is achieved, based on the Gen-Inf scheme, where the end-user is allowed to choose the algorithm which best fits his/her requirements within the particular application environment. Filomena Ferrucci, Genny Tortora, Maurizio Tucci, Giuliana Vitiello |
IEEE Trans. Software Eng. | 1 |
| 1995 | Redundancy Elimination and Loop Checks for Logic Programs
Filomena Ferrucci, Giuliano Pacini, Maria I. Sessa |
Inf. Comput. | 1 |
| 1995 | Non-Redundant 2D StringsabstractIntroduces a variation of the 2D string representation for symbolic pictures, the non-redundant 2D string, and analyze it with respect to compactness and non-ambiguity. It results that the non-redundant 2D string is a more compact representation than the 2D string, and that the class of unambiguous pictures under the non-redundant 2D string is almost equal to the class of unambiguous pictures under the reduced 2D string, up to a special case. Moreover, we show that the compactness of the new index does not affect the time complexity of picture retrieval.> Gennaro Costagliola, Filomena Ferrucci, Genny Tortora, Maurizio Tucci |
IEEE Trans. Knowl. Data Eng. | 2 |
| 1992 | On the Refinement of Logic SpecificationsabstractRefining a specification S1 means to provide another specification S2 which contains all the information given in S1 but with more detail. In this paper, we use logical implication from lower to higher levels of logic specifications to give a definition of refinement between these levels. This guarantees that any property of the higher level is also verified at the lower one. The definition of the relation "is refinement of" is given for specifications which are general first-order theories and it is proved to be transitive. A relevant aspect is that the different levels of logic specifications are in general not immediately comparable, because they can use different vocabularies. For this reason, the concept of transcription is introduced formally in our definition. Then the particular case of Horn specifications is considered. Horn specification semantics can be given by the methodology of least models. This may suggest definitions of the concept of refinement different from the one based on logical implication from lower to higher levels. However, conceptual problems can arise depending on the kind of the refinement definition chosen. Perhaps the most interesting effect is that the property of refinement transitivity may be lost. A possible way to restore the transitivity is provided. Filomena Ferrucci, Giancarlo Nota, Giuliano Pacini, Sergio Orefice, Genny Tortora |
Int. J. Softw. Eng. Knowl. Eng. | 1 |