Filippo Lanubile

dblp:29/4646 · DBLP profile ↗
← Back
91ranked-venue papers
12as first author
22since 2021 · last 2026
0000-0003-3373-7589ORCID · verified

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

Software engineering, systems software and programming languages · 81 · 12 first-author · 18 since 2021Human-computer interaction and ubiquitous computing · 8 · 2 since 2021Databases, data management, data science and information retrieval · 7 · 2 since 2021Artificial intelligence and machine learning · 5 · 2 first-author · 1 since 2021Applied, interdisciplinary, general and emerging computing · 4 · 1 first-author · 3 since 2021
YearPublicationVenuePosition
2026 Issue classification with LLMs: An empirical study of the NASA flight software systems
abstract
NASA collects vast amounts of problem data for space projects, which includes not only descriptions of defects but also enhancements and other issue reports. The growing complexity of Flight Software has led to an increase in the volume of problem reports, presenting both opportunities and challenges in data analysis. This paper explores AI-based solutions for classifying software issue reports in NASA’s spacecraft control systems. In particular, we aim to develop an accurate classifier for identifying bug tickets, building on previous research in automated issue labeling. We conduct a benchmark study for comparing various language models and provide insights on their performance and deployment costs, with the goal of improving issue classification for NASA’s growing software complexity. Based on our empirical results, we provide empirically-driven guidelines on how to address the tradeoff between the need for manual labeling of training data and the computational costs associated with the on-premise deployment of LLMs that could be used in a zero-shot setting.
Giuseppe Colavito, Filippo Lanubile, Nicole Novielli, Christopher Arreza
J. Syst. Softw.2
2026 Self-monitoring of Developers' Emotions: The Case of Agile Retrospective Meetings
abstract
Developers experience a wide range of emotions while creating software. Being able to identify the causes of one’s own and peers’ emotions can equip developers with the ability to regulate their behavior to restore positive moods and productivity. In this article, we investigate to what extent self-monitoring of emotions can enhance agile retrospective meetings by improving the emotion awareness of participants. To this aim, we conducted a controlled experiment involving three software development teams involving two student teams and one professional developers team. The experimental design involves the collection of biometrics and self-reported information about emotions, which are then visualized before the retrospective meetings to inform discussion using EmoVizPhy, a tool that we designed and implemented for this aim. While students found that self-monitoring helped them recall significant emotional episodes, leading to more meaningful contributions during retrospectives, professional developers perceived limited benefits from this practice. Furthermore, based on the analysis of corrective actions identified by the participants during the study, we hypothesize that self-monitoring of emotions through EmoVizPhy may play a valuable role in facilitating the consolidation of new agile teams for which roles and collaboration dynamics are still being defined.
Daniela Grassi, Filippo Lanubile, Nicole Novielli, Luigi Quaranta, Alexander Serebrenik
ACM Trans. Softw. Eng. Methodol.2
2025 Exploring Engagement in Hybrid Meetings
abstract
Background. The widespread adoption of hybrid work following the COVID-19 pandemic has fundamentally transformed software development practices, introducing new challenges in communication and collaboration as organizations transition from traditional office-based structures to flexible working arrangements. This shift has established a new organizational norm where even traditionally office-first companies now embrace hybrid team structures. While remote participation in meetings has become commonplace in this new environment, it may lead to isolation, alienation, and decreased engagement among remote team members. Aims. This study aims to identify and characterize engagement patterns in hybrid meetings through objective measurements, focusing on the differences between co-located and remote participants. Method. We studied professionals from three software companies over several weeks, employing a multimodal approach to measure engagement. Data were collected through self-reported questionnaires and physiological measurements using biometric devices during hybrid meetings to understand engagement dynamics. Results. The regression analyses revealed comparable engagement levels between onsite and remote participants, though remote participants show lower engagement in long meetings regardless of participation mode. Active roles positively correlate with higher engagement, while larger meetings and afternoon sessions are associated with lower engagement. Conclusions. Our results offer insights into factors associated with engagement and disengagement in hybrid meetings, as well as potential meeting improvement recommendations. These insights are potentially relevant not only for software teams but also for knowledge-intensive organizations across various sectors facing similar hybrid collaboration challenges.
Daniela Grassi, Fabio Calefato, Darja Smite, Nicole Novielli, Filippo Lanubile
ESEM5
2025 MLOps in the Healthcare Domain: a Systematic Literature Review
Giulio Mallardi, Luigi Quaranta, Fabio Calefato, Filippo Lanubile
SEAA (2)4
2025 Benchmarking large language models for automated labeling: The case of issue report classification
Giuseppe Colavito, Filippo Lanubile, Nicole Novielli
Inf. Softw. Technol.2
2025 Position Paper: Extending Credibility Assessment of In Silico Medicine Predictors to Machine Learning Predictors
abstract
There are several situations where it would be convenient if a quantity of interest essential to support a medical or regulatory decision could be predicted as a function of other measurable quantities rather than measured experimentally. To do so, we need to ensure that in all practical cases, the predicted value does not differ from what we would measure experimentally by more than an acceptable threshold, defined by the context in which that quantity of interest is used in the decision-making process. This is called Credibility Assessment. Initial work, which guided the elaboration of the first technical standard on the topic (ASME VV-40:2018), focused on predictive models built from available mechanistic knowledge of the phenomenon of interest. For this class of predictive models, sometimes called biophysical models, a credibility assessment practice based on the so-called verification, Validation, Uncertainty, Quantification and Applicability (VVUQA) analysis is accepted. Through theoretical considerations, this position paper aims to summarise a complex debate on whether such an approach can be extended to predictive models built without any mechanistic knowledge (machine learning (ML) predictors). We conclude that the VVUQA can be extended to ML-based predictors; however, since there is no certainty that the features used to predict the quantity of interest are necessary and sufficient, according to the VVUQA framework, such credibility assessment is limited to the test sets used for the validation studies. This calls for a Total Product Life Cycle approach, where periodic retesting of ML-based predictors is part of post-marketing surveillance to ensure that no "unknown bias" may play a role.
Marco Viceconti, Filippo Lanubile, Antonella Carbonaro, Sabato Mellone, Cristina Curreli, Alessandra Aldieri, Saverio Ranciati, Angela Montanari
IEEE J. Biomed. Health Informatics2
2024 An MLOps Approach for Deploying Machine Learning Models in Healthcare Systems
abstract
In recent years, there has been a remarkable increase in the use of machine learning (ML) technologies in healthcare settings. Despite this growth, a significant challenge persists: numerous promising initiatives remain confined to research laboratories, unable to make the critical transition into clinical practice. While the gap between research and production deployment affects ML projects across various sectors, the stringently regulated healthcare environment poses unique and heightened challenges. To address these challenges, MLOps has recently emerged as a specialized discipline that combines engineering best practices with operational excellence. Building upon software engineering foundations and DevOps principles, MLOps introduces a systematic approach to automating ML workflows and managing the complete model lifecycle. This paper introduces a practical and comprehensive MLOps-based framework. This framework is designed to facilitate the transformation of experimental ML models into production-ready healthcare solutions. It provides a structured approach that ensures the seamless integration of ML-powered tools into clinical environments and guarantees their reliability and compliance with medical standards, instilling confidence in their effectiveness. We are currently implementing and evaluating this framework within the "DARE – Digital Lifelong Prevention" project, a national Italian initiative aiming to harness data analytics to enhance preventive healthcare strategies across different life stages.
Giulio Mallardi, Fabio Calefato, Luigi Quaranta, Filippo Lanubile
BIBM4
2024 Continuous Quality Improvement of AI-based Systems: the QualAI Project
abstract
QualAI is a two-year project aimed at defining a set of recommenders to continuously monitor, assess, and improve the quality of AI-based systems, with a particular focus on machine learning (ML) applications. We will develop recommenders for the quality assurance of both data and ML models to enable practitioners to mitigate technical debt. Special attention will be paid to communication challenges that may arise in hybrid teams comprising data scientists and software developers. This paper presents the project outline, provides an executive summary of the research activities, outlines the expected project outcomes, and reports the results obtained to date.
Nicole Novielli, Rocco Oliveto, Fabio Palomba, Fabio Calefato, Giuseppe Colavito, Vincenzo De Martino, Antonio Della Porta, Giammaria Giordano, Emanuela Guglielmi, Filippo Lanubile, Luigi Quaranta, Gilberto Recupito, Simone Scalabrino, Angelica Spina, Antonio Vitale
ESEM10
2024 Leveraging GPT-like LLMs to Automate Issue Labeling
abstract
Issue labeling is a crucial task for the effective management of software projects. To date, several approaches have been put forth for the automatic assignment of labels to issue reports. In particular, supervised approaches based on the fine-tuning of BERT-like language models have been proposed, achieving state-of-the-art performance. More recently, decoder-only models such as GPT have become prominent in SE research due to their surprising capabilities to achieve state-of-the-art performance even for tasks they have not been trained for. To the best of our knowledge, GPT-like models have not been applied yet to the problem of issue classification, despite the promising results achieved for many other software engineering tasks. In this paper, we investigate to what extent we can leverage GPT-like LLMs to automate the issue labeling task. Our results demonstrate the ability of GPT-like models to correctly classify issue reports in the absence of labeled data that would be required to fine-tune BERT-like LLMs.
Giuseppe Colavito, Filippo Lanubile, Nicole Novielli, Luigi Quaranta
MSR2
2024 A lot of talk and a badge: An exploratory analysis of personal achievements in GitHub
abstract
Context: GitHub has introduced a new gamification element through personal achievements, whereby badges are unlocked and displayed on developers’ personal profile pages in recognition of their development activities. Objective: In this paper, we present an exploratory analysis using mixed methods to study the diffusion of personal badges in GitHub, in addition to the effects and reactions to their introduction. Method: First, we conduct an observational study by mining longitudinal data from more than 6,000 developers and performed correlation and regression analysis. Then, we conduct a survey and analyze over 300 GitHub community discussions on the topic of personal badges to gauge how the community responded to the introduction of the new feature. Results: We find that most of the developers sampled own at least a badge, but we also observe an increasing number of users who choose to keep their profile private and opt out of displaying badges. Additionally, badges are generally poorly correlated with developers’ skills and dispositions such as timeliness and desire to collaborate. We also find that, except for the Starstruck badge (reflecting the number of followers), their introduction does not have an effect. Finally, the reaction of the community has been in general mixed, as developers find them appealing in principle but without a clear purpose and hardly reflecting their abilities in the current form. Conclusions: We provide recommendations to the designers of the GitHubplatform on how to improve the current implementation of personal badges as both a gamification mechanism and as sources of reliable cues for assessing the abilities of developers.
Fabio Calefato, Luigi Quaranta, Filippo Lanubile
Inf. Softw. Technol.3
2024 Impact of data quality for automatic issue classification using pre-trained language models
Giuseppe Colavito, Filippo Lanubile, Nicole Novielli, Luigi Quaranta
J. Syst. Softw.2
2023 Assessing the Use of AutoML for Data-Driven Software Engineering
abstract
Background. Due to the widespread adoption of Artificial Intelligence (AI) and Machine Learning (ML) for building software applications, companies are struggling to recruit employees with a deep understanding of such technologies. In this scenario, AutoML is soaring as a promising solution to fill the AI/ML skills gap since it promises to automate the building of end-to-end AI/ML pipelines that would normally be engineered by specialized team members. Aims. Despite the growing interest and high expectations, there is a dearth of information about the extent to which AutoML is currently adopted by teams developing AI/ML-enabled systems and how it is perceived by practitioners and researchers. Method. To fill these gaps, in this paper, we present a mixed-method study comprising a benchmark of 12 end-to-end AutoML tools on two SE datasets and a user survey with follow-up interviews to further our understanding of AutoML adoption and perception. Results. We found that AutoML solutions can generate models that outperform those trained and optimized by researchers to perform classification tasks in the SE domain. Also, our findings show that the currently available AutoML solutions do not live up to their names as they do not equally support automation across the stages of the ML development workflow and for all the team members. Conclusions. We derive insights to inform the SE research community on how AutoML can facilitate their activities and tool builders on how to design the next generation of AutoML technologies.
Fabio Calefato, Luigi Quaranta, Filippo Lanubile, Marcos Kalinowski
ESEM3
2023 Predicting Bugs by Monitoring Developers During Task Execution
abstract
Knowing which parts of the source code will be defective can allow practitioners to better allocate testing resources. For this reason, many approaches have been proposed to achieve this goal. Most state-of-the-art predictive models rely on product and process metrics, i.e., they predict the defectiveness of a component by considering what developers did. However, there is still limited evidence of the benefits that can be achieved in this context by monitoring how developers complete a development task. In this paper, we present an empirical study in which we aim at understanding whether measuring human aspects on developers while they write code can help predict the introduction of defects. First, we introduce a new developer-based model which relies on behavioral, psychophysical, and control factors that can be measured during the execution of development tasks. Then, we run a controlled experiment involving 20 software developers to understand if our developer-based model is able to predict the introduction of bugs. Our results show that a developer-based model is able to achieve a similar accuracy compared to a state-of-the-art code-based model, i.e., a model that uses only features measured from the source code. We also observed that by combining the models it is possible to obtain the best results (84% accuracy).
Gennaro Laudato, Simone Scalabrino, Nicole Novielli, Filippo Lanubile, Rocco Oliveto
ICSE4
2022 Sensor-Based Emotion Recognition in Software Development: Facial Expressions as Gold Standard
abstract
Early identification of emotions of software developers can enable timely intervention in order to support developers' well-being and prevent burnout. We present a machine learning experiment aimed at recognizing emotions during programming tasks using wearable biometric sensors, tracking electrodermal activity and heart-related metrics. As a gold standard for supervised learning, we rely on a state-of-the-art tool for emotion recognition based on facial expression analysis. We design, implement and evaluate an approach that combines the output of two classifiers for neutral valence recognition and positive/negative polarity classification. Our findings suggest that biometric sensors in a wristband can be used to identify emotions whose recognition would otherwise need an intrusive webcam.
Nicole Novielli, Daniela Grassi, Filippo Lanubile, Alexander Serebrenik
ACII3
2022 Pynblint: a static analyzer for Python Jupyter notebooks
abstract
Jupyter Notebook is the tool of choice of many data scientists in the early stages of ML workflows. The notebook format, however, has been criticized for inducing bad programming practices; indeed, researchers have already shown that open-source repositories are inundated by poor-quality notebooks. Low-quality output from the prototypical stages of ML workflows constitutes a clear bottleneck towards the productization of ML models. To foster the creation of better notebooks, we developed Pynblint, a static analyzer for Jupyter notebooks written in Python. The tool checks the compliance of notebooks (and surrounding repositories) with a set of empirically validated best practices and provides targeted recommendations when violations are detected.
Luigi Quaranta, Fabio Calefato, Filippo Lanubile
CAIN3
2022 A Preliminary Investigation of MLOps Practices in GitHub
abstract
Background. The rapid and growing popularity of machine learning (ML) applications has led to an increasing interest in MLOps, that is, the practice of continuous integration and deployment (CI/CD) of ML-enabled systems. Aims. Since changes may affect not only the code but also the ML model parameters and the data themselves, the automation of traditional CI/CD needs to be extended to manage model retraining in production. Method. In this paper, we present an initial investigation of the MLOps practices implemented in a set of ML-enabled systems retrieved from GitHub, focusing on GitHub Actions and CML, two solutions to automate the development workflow. Results. Our preliminary results suggest that the adoption of MLOps workflows in open-source GitHub projects is currently rather limited. Conclusions. Issues are also identified, which can guide future research work.
Fabio Calefato, Filippo Lanubile, Luigi Quaranta
ESEM2
2022 Will you come back to contribute? Investigating the inactivity of OSS core developers in GitHub
abstract
Abstract Several Open-Source Software (OSS) projects depend on the continuity of their development communities to remain sustainable. Understanding how developers become inactive or why they take breaks can help communities prevent abandonment and incentivize developers to come back. In this paper, we propose a novel method to identify developers’ inactive periods by analyzing the individual rhythm of contributions to the projects. Using this method, we quantitatively analyze the inactivity of core developers in 18 OSS organizations hosted on GitHub. We also survey core developers to receive their feedback about the identified breaks and transitions. Our results show that our method was effective for identifying developers’ breaks. About 94% of the surveyed core developers agreed with our state model of inactivity; 71% and 79% of them acknowledged their breaks and state transition, respectively. We also show that all core developers take breaks (at least once) and about a half of them (~45%) have completely disengaged from a project for at least one year. We also analyzed the probability of transitions to/from inactivity and found that developers who pause their activity have a ~35 to ~55% chance to return to an active state; yet, if the break lasts for a year or longer, then the probability of resuming activities drops to ~21–26%, with a ~54% chance of complete disengagement. These results may support the creation of policies and mechanisms to make OSS community managers aware of breaks and potential project abandonment.
Fabio Calefato, Marco Aurélio Gerosa, Giuseppe Iaffaldano, Filippo Lanubile, Igor Steinmacher
Empir. Softw. Eng.4
2022 Eliciting Best Practices for Collaboration with Computational Notebooks
abstract
Despite the widespread adoption of computational notebooks, little is known about best practices for their usage in collaborative contexts. In this paper, we fill this gap by eliciting a catalog of best practices for collaborative data science with computational notebooks. With this aim, we first look for best practices through a multivocal literature review. Then, we conduct interviews with professional data scientists to assess their awareness of these best practices. Finally, we assess the adoption of best practices through the analysis of 1,380 Jupyter notebooks retrieved from the Kaggle platform. Findings reveal that experts are mostly aware of the best practices and tend to adopt them in their daily work. Nonetheless, they do not consistently follow all the recommendations as, depending on specific contexts, some are deemed unfeasible or counterproductive due to the lack of proper tool support. As such, we envision the design of notebook solutions that allow data scientists not to have to prioritize exploration and rapid prototyping over writing code of quality.
Luigi Quaranta, Fabio Calefato, Filippo Lanubile
Proc. ACM Hum. Comput. Interact.3
2022 Using Personality Detection Tools for Software Engineering Research: How Far Can We Go?
abstract
Assessing the personality of software engineers may help to match individual traits with the characteristics of development activities such as code review and testing, as well as support managers in team composition. However, self-assessment questionnaires are not a practical solution for collecting multiple observations on a large scale. Instead, automatic personality detection, while overcoming these limitations, is based on off-the-shelf solutions trained on non-technical corpora, which might not be readily applicable to technical domains like software engineering. In this article, we first assess the performance of general-purpose personality detection tools when applied to a technical corpus of developers’ e-mails retrieved from the public archives of the Apache Software Foundation. We observe a general low accuracy of predictions and an overall disagreement among the tools. Second, we replicate two previous research studies in software engineering by replacing the personality detection tool used to infer developers’ personalities from pull-request discussions and e-mails. We observe that the original results are not confirmed, i.e., changing the tool used in the original study leads to diverging conclusions. Our results suggest a need for personality detection tools specially targeted for the software engineering domain.
Fabio Calefato, Filippo Lanubile
ACM Trans. Softw. Eng. Methodol.2
2022 Emotions and Perceived Productivity of Software Developers at the Workplace
abstract
Emotions are known to impact cognitive skills, thus influencing job performance. This is also true for software development, which requires creativity and problem-solving abilities. In this paper, we report the results of a field study involving professional developers from five different companies. We provide empirical evidence that a link exists between emotions and perceived productivity at the workplace. Furthermore, we present a taxonomy of triggers for developers’ positive and negative emotions, based on the qualitative analysis of participants’ self-reported answers collected through daily experience sampling. Finally, we experiment with a minimal set of non-invasive biometric sensors that we use as input for emotion detection. We found that positive emotional valence, neutral arousal, and high dominance are prevalent. We also found a positive correlation between emotional valence and perceived productivity, with a stronger correlation in the afternoon. Both social and individual breaks emerge as useful for restoring a positive mood. Furthermore, we found that a minimum set of non-invasive biometric sensors can be used as a predictor for emotions, provided that training is performed on an individual basis. While promising, our classifier performance is not yet robust enough for practical usage. Further data collection is required to strengthen the classifier, by also implementing individual fine-tuning of emotion models.
Daniela Girardi, Filippo Lanubile, Nicole Novielli, Alexander Serebrenik
IEEE Trans. Software Eng.2
2021 KGTorrent: A Dataset of Python Jupyter Notebooks from Kaggle
abstract
Computational notebooks have become the tool of choice for many data scientists and practitioners for performing analyses and disseminating results. Despite their increasing popularity, the research community cannot yet count on a large, curated dataset of computational notebooks. In this paper, we fill this gap by introducing KGTorrent, a dataset of Python Jupyter notebooks with rich metadata retrieved from Kaggle, a platform hosting data science competitions for learners and practitioners with any levels of expertise. We describe how we built KGTorrent, and provide instructions on how to use it and refresh the collection to keep it up to date. Our vision is that the research community will use KGTorrent to study how data scientists, especially practitioners, use Jupyter Notebook in the wild and identify potential shortcomings to inform the design of its future extensions.
Luigi Quaranta, Fabio Calefato, Filippo Lanubile
MSR3
2021 Assessment of off-the-shelf SE-specific sentiment analysis tools: An extended replication study
abstract
Abstract Sentiment analysis methods have become popular for investigating human communication, including discussions related to software projects. Since general-purpose sentiment analysis tools do not fit well with the information exchanged by software developers, new tools, specific for software engineering (SE), have been developed. We investigate to what extent off-the-shelf SE-specific tools for sentiment analysis mitigate the threats to conclusion validity of empirical studies in software engineering, highlighted by previous research. First, we replicate two studies addressing the role of sentiment in security discussions on GitHub and in question-writing on Stack Overflow. Then, we extend the previous studies by assessing to what extent the tools agree with each other and with the manual annotation on a gold standard of 600 documents. We find that different SE-specific sentiment analysis tools might lead to contradictory results at a fine-grain level, when used off-the-shelf. Conversely, platform-specific tuning or retraining might be needed to take into account differences in platform conventions, jargon, or document lengths.
Nicole Novielli, Fabio Calefato, Filippo Lanubile, Alexander Serebrenik
Empir. Softw. Eng.3
2020 A case study on tool support for collaboration in agile development
abstract
We report on a longitudinal case study conducted at the Italian site of a large software company to further our understanding of how development and communication tools can be improved to better support agile practices and collaboration. After observing inconsistencies in the way communication tools (i.e., email, Skype, and Slack) were used, we first reinforced the use of Slack as the central hub for internal communication, while setting clear rules regarding tools usage. As a second main change, we refactored the Jira Scrum board into two separate boards, a detailed one for developers and a high-level one for managers, while also introducing automation rules and the integration with Slack. The first change revealed that the teams of developers used and appreciated Slack differently with the QA team being the most favorable and that the use of channels is hindered by automatic notifications from development tools (e.g., Jenkins). The findings from the second change show that 85% of the interviewees reported perceived improvements in their workflow. Despite the limitations due to the single nature of the reported case, we highlight the importance for companies to reflect on how to properly set up their agile work environment to improve communication and facilitate collaboration.
Fabio Calefato, Andrea Giove, Filippo Lanubile, Marco Losavio
ICGSE3
2020 Recognizing developers' emotions while programming
abstract
Developers experience a wide range of emotions during programming tasks, which may have an impact on job performance. In this paper, we present an empirical study aimed at (i) investigating the link between emotion and progress, (ii) understanding the triggers for developers' emotions and the strategies to deal with negative ones, (iii) identifying the minimal set of non-invasive biometric sensors for emotion recognition during programming tasks. Results confirm previous findings about the relation between emotions and perceived productivity. Furthermore, we show that developers' emotions can be reliably recognized using only a wristband capturing the electrodermal activity and heart-related metrics.
Daniela Girardi, Nicole Novielli, Davide Fucci, Filippo Lanubile
ICSE4
2020 Can We Use SE-specific Sentiment Analysis Tools in a Cross-Platform Setting?
abstract
In this paper, we address the problem of using sentiment analysis tools 'off-the-shelf', that is when a gold standard is not available for retraining. We evaluate the performance of four SE-specific tools in a cross-platform setting, i.e., on a test set collected from data sources different from the one used for training. We find that (i) the lexicon-based tools outperform the supervised approaches retrained in a cross-platform setting and (ii) retraining can be beneficial in within-platform settings in the presence of robust gold standard datasets, even using a minimal training set. Based on our empirical findings, we derive guidelines for reliable use of sentiment analysis tools in software engineering.
Nicole Novielli, Fabio Calefato, Davide Dongiovanni, Daniela Girardi, Filippo Lanubile
MSR5
2019 A replication study on code comprehension and expertise using lightweight biometric sensors
abstract
Code comprehension has been recently investigated from physiological and cognitive perspectives using medical imaging devices. Floyd et al. (i.e., the original study) used fMRI to classify the type of comprehension tasks performed by developers and relate their results to their expertise. We replicate the original study using lightweight biometrics sensors. Our study participants-28 undergrads in computer science-performed comprehension tasks on source code and natural language prose. We developed machine learning models to automatically identify what kind of tasks developers are working on leveraging their brain-, heart-, and skin-related signals. The best improvement over the original study performance is achieved using solely the heart signal obtained through a single device (BAC 87%vs. 79.1%). Differently from the original study, we did not observe a correlation between the participants' expertise and the classifier performance (τ= 0.16, p= 0.31). Our findings show that lightweight biometric sensors can be used to accurately recognize comprehension opening interesting scenarios for research and practice.
Davide Fucci, Daniela Girardi, Nicole Novielli, Luigi Quaranta, Filippo Lanubile
ICPC5
2019 An empirical assessment of best-answer prediction models in technical Q&A sites
Fabio Calefato, Filippo Lanubile, Nicole Novielli
Empir. Softw. Eng.2
2019 A large-scale, in-depth analysis of developers' personalities in the Apache ecosystem
Fabio Calefato, Filippo Lanubile, Bogdan Vasilescu
Inf. Softw. Technol.2
2018 Collaboration Success Factors in an Online Music Community
abstract
Online communities have been able to develop large, open-source software (OSS) projects like Linux and Firefox throughout the successful collaborations carried out by their members over the Internet. However, online communities also involve creative arts domains such as animation, video games, and music. Despite their growing popularity, the factors that lead to successful collaborations in these communities are not entirely understood.
Fabio Calefato, Giuseppe Iaffaldano, Filippo Lanubile
GROUP3
2018 On developers' personality in large-scale distributed projects: the case of the apache ecosystem
abstract
Large-scale distributed projects are typically the results of collective efforts performed by multiple developers, each one having a different personality. The study of developers' personalities has the potential of explaining their' behavior in various contexts. For example, the propensity to trust others, a critical factor to the success of global software engineering - has been found to influence positively the result of code reviews in distributed projects.
Fabio Calefato, Giuseppe Iaffaldano, Filippo Lanubile, Bogdan Vasilescu
ICGSE3
2018 Sentiment polarity detection for software development
abstract
The role of sentiment analysis is increasingly emerging to study software developers' emotions by mining crowd-generated content within software repositories and information sources. With a few notable exceptions [1][5], empirical software engineering studies have exploited off-the-shelf sentiment analysis tools. However, such tools have been trained on non-technical domains and general-purpose social media, thus resulting in misclassifications of technical jargon and problem reports [2][4]. In particular, Jongeling et al. [2] show how the choice of the sentiment analysis tool may impact the conclusion validity of empirical studies because not only these tools do not agree with human annotation of developers' communication channels, but they also disagree among themselves.
Fabio Calefato, Filippo Lanubile, Federico Maiorano, Nicole Novielli
ICSE2
2018 A gold standard for emotion annotation in stack overflow
abstract
Software developers experience and share a wide range of emotions throughout a rich ecosystem of communication channels. A recent trend that has emerged in empirical software engineering studies is leveraging sentiment analysis of developers' communication traces. We release a dataset of 4,800 questions, answers, and comments from Stack Overflow, manually annotated for emotions. Our dataset contributes to the building of a shared corpus of annotated resources to support research on emotion awareness in software development.
Nicole Novielli, Fabio Calefato, Filippo Lanubile
MSR3
2018 A benchmark study on sentiment analysis for software engineering research
abstract
A recent research trend has emerged to identify developers' emotions, by applying sentiment analysis to the content of communication traces left in collaborative development environments. Trying to overcome the limitations posed by using off-the-shelf sentiment analysis tools, researchers recently started to develop their own tools for the software engineering domain. In this paper, we report a benchmark study to assess the performance and reliability of three sentiment analysis tools specifically customized for software engineering. Furthermore, we offer a reflection on the open challenges, as they emerge from a qualitative analysis of misclassified texts.1
Nicole Novielli, Daniela Girardi, Filippo Lanubile
MSR3
2018 Sentiment Polarity Detection for Software Development
Fabio Calefato, Filippo Lanubile, Federico Maiorano, Nicole Novielli
Empir. Softw. Eng.2
2018 How to ask for technical help? Evidence-based guidelines for writing questions on Stack Overflow
Fabio Calefato, Filippo Lanubile, Nicole Novielli
Inf. Softw. Technol.2
2018 Investigating Crowd Creativity in Online Music Communities
abstract
Crowd creativity is typically associated with peer-production communities focusing on artistic products like animations, video games, and music, but less frequently to Open Source Software (OSS), despite the fact that also developers must be creative to come up with new solutions to their technical challenges. In this paper, we conduct a study to further the understanding of which factors from prior work in both OSS and art communities are predictive of successful collaboration - defined as reuse of previous songs - in three different songwriting communities, namely Songtree, Splice, and ccMixter. The main findings from this study confirm that the success of collaborations is associated with high community status of recognizable authors and low degree of derivativity of songs.
Fabio Calefato, Giuseppe Iaffaldano, Filippo Lanubile, Federico Maiorano
Proc. ACM Hum. Comput. Interact.3
2017 Emotion detection using noninvasive low cost sensors
abstract
Emotion recognition from biometrics is relevant to a wide range of application domains, including healthcare. Existing approaches usually adopt multi-electrodes sensors that could be expensive or uncomfortable to be used in real-life situations. In this study, we investigate whether we can reliably recognize high vs. low emotional valence and arousal by relying on noninvasive low cost EEG, EMG, and GSR sensors. We report the results of an empirical study involving 19 subjects. We achieve state-of-the-art classification performance for both valence and arousal even in a cross-subject classification setting, which eliminates the need for individual training and tuning of classification models.
Daniela Girardi, Filippo Lanubile, Nicole Novielli
ACII2
2017 A Preliminary Analysis on the Effects of Propensity to Trust in Distributed Software Development
abstract
Establishing trust between developers working atdistant sites facilitates team collaboration in distributed software development. While previous research has focused on how to build and spread trust in absence of direct, face-to-face communication, it has overlooked the effects of the propensity to trust, i.e., the trait of personality representing the individual disposition to perceive the others as trustworthy. In this study, we present a preliminary, quantitative analysis on how the propensity to trust affects the success of collaborations in a distributed project, where thesuccess is represented by pull requests whose code changes and contributions are successfully merged in the project's repository.
Fabio Calefato, Filippo Lanubile, Nicole Novielli
ICGSE2
2017 Bootstrapping a lexicon for emotional arousal in software engineering
abstract
Emotional arousal increases activation and performance but may also lead to burnout in software development. We present the first version of a Software Engineering Arousal lexicon (SEA) that is specifically designed to address the problem of emotional arousal in the software developer ecosystem. SEA is built using a bootstrapping approach that combines word embedding model trained on issue-tracking data and manual scoring of items in the lexicon. We show that our lexicon is able to differentiate between issue priorities, which are a source of emotional activation and then act as a proxy for arousal. The best performance is obtained by combining SEA (428 words) with a previously created general purpose lexicon by Warriner et al. (13,915 words) and it achieves Cohen's d effect sizes up to 0.5.
Mika Mäntylä, Nicole Novielli, Filippo Lanubile, Maëlick Claes, Miikka Kuutila
MSR3
2016 The EmoQuest Project: Emotions in Q&A Sites
abstract
In this paper, we describe the overall goals and expected contribution of the EmoQuest project. EmoQuest is a three-year multi-disciplinary research project whose main goal is to understand the role of emotions in social media-based knowledge sharing, specifically in online Question and Answer (Q&A) sites. The main research domain of EmoQuest is Computer Supported Cooperative Work (CSCW), with expected outputs in Human-Computer Interaction, Software Engineering, Linguistics, and Psychology.
Nicole Novielli, Fabio Calefato, Filippo Lanubile, Giuseppe Mininni, Annarita Taronna
AVI3
2016 Moving to Stack Overflow: Best-Answer Prediction in Legacy Developer Forums
abstract
Context: Recently, more and more developer communities are abandoning their legacy support forums, moving onto Stack Overflow. The motivations are diverse, yet they typically include achieving faster response time and larger visibility through the access to a modern and very successful infrastructure. One downside of migration, however, is that the history and the crowdsourced knowledge hosted at previous sites remain separated or even get lost if a community decides to abandon completely the legacy developer forum.
Fabio Calefato, Filippo Lanubile, Nicole Novielli
ESEM2
2016 A Hub-and-Spoke Model for Tool Integration in Distributed Development
abstract
Today distributed development depend on an ever-growing plethora of tools that provide a continual stream of updates and place developers into a situation of channel overload and information fragmentation. In this paper, we present our initial work on the definition of a model, named hub-and-spoke, for a loosely-coupled integration of development tools that can help developers cope with these issues, while also increasing their overall situational awareness.
Fabio Calefato, Filippo Lanubile
ICGSE2
2016 Assessing the impact of real-time machine translation on multilingual meetings in global software projects
Fabio Calefato, Filippo Lanubile, Tayana Conte, Rafael Prikladnicki
Empir. Softw. Eng.2
2015 Mining Successful Answers in Stack Overflow
abstract
Recent research has shown that drivers of success in online question answering encompass presentation quality as well as temporal and social aspects. Yet, we argue that also the emotional style of a technical contribution influences its perceived quality. In this paper, we investigate how Stack Overflow users can increase the chance of getting their answer accepted. We focus on actionable factors that can be acted upon by users when writing an answer and making comments. We found evidence that factors related to information presentation, time and affect all have an impact on the success of answers.
Fabio Calefato, Filippo Lanubile, Maria Concetta Marasciulo, Nicole Novielli
MSR2
2014 An empirical simulation-based study of real-time speech translation for multilingual global project teams
abstract
Context: Real-time speech translation technology is today available but still lacks a complete understanding of how such technology may affect communication in global software projects.
Fabio Calefato, Filippo Lanubile, Rafael Prikladnicki, João Henrique Stocker Pinto
ESEM2
2014 Mobile Speech Translation for Multilingual Requirements Meetings: A Preliminary Study
abstract
Communication in global software projects usually occurs between native and non-native English speakers with the drawback of an unequal ability to fully understand and contribute to discussions. In this paper, we investigate the adoption of combining speech recognition and machine translation in order to overcome language barriers among stakeholders who are remotely negotiating software requirements. We report our findings from a simulated study where stakeholders communicate speaking three different languages with the help of the Google mobile speech translation service.
Fabio Calefato, Filippo Lanubile, Damiano Romita, Rafael Prikladnicki, João Henrique Stocker Pinto
ICGSE2
2014 Resolving the challenges of time and distance
Filippo Lanubile, Rafael Prikladnicki, Erran Carmel, Rini van Solingen
Empir. Softw. Eng.1
2013 A Preliminary Investigation of the Effect of Social Media on Affective Trust in Customer-Supplier Relationships
abstract
We present the preliminary results of an ongoing research aimed at investigating the role of social media in the process of trust building, with particular attention to the case of small-medium enterprises (SME). Our findings show that social media contribute to increase the affective trust more than traditional websites. This result suggests that social media have the potential to enhance the business of SMEs other than large companies, by fostering the affective commitment of customers.
Fabio Calefato, Filippo Lanubile, Nicole Novielli
ACII2
2013 SocialCDE: a social awareness tool for global software teams
abstract
We present SocialCDE, a tool that aims at augmenting Application Lifecycle Management (ALM) platforms with social awareness to facilitate the establishment of interpersonal connections and increase the likelihood of successful interactions by disclosing developers’ personal interests and contextual information.
Fabio Calefato, Filippo Lanubile
ESEC/SIGSOFT FSE2
2012 Assessing the impact of real-time machine translation on requirements meetings: a replicated experiment
abstract
Opportunities for global software development are limited in those countries with a lack of English-speaking professionals. Machine translation technology is today available in the form of cross-language web services and can be embedded into multiuser and multilingual chats without disrupting the conversation flow. However, we still lack a thorough understanding of how real-time machine translation may affect communication in global software teams.
Fabio Calefato, Filippo Lanubile, Tayana Conte, Rafael Prikladnicki
ESEM2
2012 Social Awareness for Global Software Teams
abstract
We hypothesize that information shared on social media can work for distributed software teams as a surrogate of the social awareness, that is information that a person maintains about others in a social or conversational context, gained during informal face-to-face chats. Hence, we have developed a tool that extends a collaborative development environment by aggregating content from social networks and microblogs into developers' workspace.
Fabio Calefato, Filippo Lanubile
ICGSE2
2012 Computer-mediated communication to support distributed requirements elicitations and negotiations tasks
Fabio Calefato, Daniela E. Damian, Filippo Lanubile
Empir. Softw. Eng.3
2011 A Controlled Experiment on the Effects of Machine Translation in Multilingual Requirements Meetings
abstract
Requirements engineering is a communication-intensive activity and thus it suffers much from language difficulties in global software projects. Remote requirements meetings can benefit from machine translation as this technology is today available in the form of cross-language chat services. In this paper, we present the design of a controlled experiment to investigate the effects of automatic machine translation services in requirements meetings. Experiment participants, using either Italian or Portuguese as native language, are asked to interact with a communication tool from a distance in order to prioritize and estimate requirements. First results show that real-time machine translation is not disruptive of the conversation flow and is accepted with favor by participants. However, concrete effects are expected to emerge when language barriers are critical.
Fabio Calefato, Filippo Lanubile, Rafael Prikladnicki
ICGSE2
2011 Migration of information systems in the Italian industry: A state of the practice survey
Marco Torchiano, Massimiliano Di Penta, Filippo Ricca, Andrea De Lucia, Filippo Lanubile
Inf. Softw. Technol.5
2010 Investigating the use of tags in collaborative development environments: a replicated study
abstract
Modern collaborative development environments have recently introduced tagging as a new feature in order to let developers annotate software artifacts with free keywords. Since tagging has the potential to have an impact on task management in software development processes, there is a need to understand how developers use tagging in projects supported by collaborative development environments and how developers' behavior differ from collaborative tagging in the Social Web.
Fabio Calefato, Domenico Gendarmi, Filippo Lanubile
ESEM3
2010 Can Real-Time Machine Translation Overcome Language Barriers in Distributed Requirements Engineering?
abstract
In global software projects work takes place over long distances, meaning that communication will often involve distant cultures with different languages and communication styles that, in turn, exacerbate communication problems. However, being aware of cultural distance is not sufficient to overcome many of the barriers that language differences bring in the way of global project success. In this paper, we investigate the adoption of machine translation (MT) services in synchronous text-based chat in order to overcome any language barrier existing among groups of stakeholders who are remotely negotiating software requirements. We report our findings from a simulated study that compares the efficiency and the effectiveness of two MT services, Google Translate and apertium-service, in translating the messages exchanged during four distributed requirements engineering workshops. The results show that (a) Google Translate produces significantly more adequate translations than Apertium from English to Italian; (b) both services can be used in text-based chat without disrupting real-time interaction.
Fabio Calefato, Filippo Lanubile, Pasquale Minervini
ICGSE2
2009 A Storytest-Driven Approach to the Migration of Legacy Systems
Fabio Abbattista, Alessandro Bianchi, Filippo Lanubile
XP3
2009 Using frameworks to develop a distributed conferencing system: an experience report
abstract
Abstract Application frameworks are a powerful means to reduce software development costs while improving quality. However, at the same time they are difficult to select and understand, as well as hard to learn, use, and debug effectively and efficiently. In this paper we report the story of eConference, a distributed conferencing system that was developed as part of a broader research effort. Here we discuss the lessons learned from the evolution of our conferencing tool over four generations, which have been necessary to find good frameworks and build a flexible distributed tool. Copyright © 2009 John Wiley & Sons, Ltd.
Fabio Calefato, Filippo Lanubile
Softw. Pract. Exp.2
2008 On the Need for Mixed Media in Distributed Requirements Negotiations
abstract
Achieving agreement with respect to software requirements is a collaborative process that traditionally relies on same-time, same-place interactions. As the trend toward geographically distributed software development continues, colocated meetings are becoming increasingly problematic. Our research investigates the impact of computer-mediated communication on the performance of distributed client/developer teams involved in the collaborative development of a requirements specification. Drawing on media-selection theories, we posit that a combination of lean and rich media is needed for an effective process of requirements negotiations when stakeholders are geographically dispersed. In this paper, we present an empirical study that investigates the performance of six educational global project teams involved in a negotiation process using both asynchronous text-based and synchronous videoconferencing-based communication modes. The findings indicate that requirement negotiations were more effective when the groups conducted asynchronous structured discussions of requirement issues prior to the synchronous negotiation meeting. Asynchronous discussions were useful in resolving issues related to uncertainty in requirements, thus allowing synchronous negotiations to focus more on removing ambiguities in the requirements.
Daniela E. Damian, Filippo Lanubile, Teresa Mallardo
IEEE Trans. Software Eng.2
2007 Evolving a text-based conferencing system: An experience report
abstract
In this paper we describe the evolution of eConference, a text-based conferencing system that has turned into a collaborative platform. We draw the lessons learned from the evolution process, as first we changed the underlying communication framework, from the JXTA P2P platform to the XMPP client/server protocol, and then its overall architecture, from traditional plugin to pure-plugin system, built on top of the Eclipse Rich Client Platform.
Fabio Calefato, Filippo Lanubile, Mario Scalas
CollaborateCom2
2007 A Controlled Experiment on the Effects of Synchronicity in Remote Inspection Meetings
abstract
Traditionally, software inspection has largely relied on collocated interaction of inspectors. As companies have begun to turn to distributed software development, meeting in a room has become impractical. In this paper we report on controlled experiment to assess the effect of synchronous and asynchronous communication in remote inspection meetings.
Fabio Calefato, Filippo Lanubile, Teresa Mallardo
ESEM2
2007 An Empirical Investigation on Text-Based Communication in Distributed Requirements Workshops
abstract
Among the software development activities, requirements engineering is one of the most communication-intensive and then, its effectiveness is greatly constrained by the geographical distance between stakeholders. For this reason, the need to identify the appropriate task/technology fits to support teams of geographically dispersed stakeholders plays a key role for coping with the lack of physical proximity when developing requirements. In this paper we report on an empirical study that assessed the use of synchronous text-based communication in distributed requirements workshops, as compared to face-to-face (F2F), and the effects of computer-mediated communication (CMC), with respects to the different tasks of distributed requirements elicitation and negotiation. First results show that, in terms of satisfaction with performance, CMC elicitation is a better task/technology fit than CMC negotiation. Furthermore, the general preference for F2F over CMC is due to the strong preference for the F2F negotiation fit over the CMC counterpart.
Fabio Calefato, Daniela E. Damian, Filippo Lanubile
ICGSE3
2007 Inspecting Automated Test Code: A Preliminary Study
Filippo Lanubile, Teresa Mallardo
XP1
2006 An Empirical Study of the Impact of Asynchronous Discussions on Remote Synchronous Requirements Meetings
Daniela E. Damian, Filippo Lanubile, Teresa Mallardo
FASE2
2006 The role of asynchronous discussions in increasing the effectiveness of remote synchronous requirements negotiations
abstract
Important and yet very difficult process in software development, requirements engineering is plagued with additional challenges in the emergent dynamics of geographically distributed software teams. Our hypothesis is that a mix of lean and rich communication media are needed towards increasing the effectiveness of meetings in reaching mutual agreement when stakeholders are geographically dispersed.We studied tool-supported remote inspections in six educational global project teams in a multicultural software development environment. In this paper we present the preliminary results from comparing the effectiveness of the requirements negotiations when preceded by the asynchronous discussions to those negotiations with no prior asynchronous discussions.
Daniela E. Damian, Filippo Lanubile, Teresa Mallardo
ICSE2
2004 The 3rd International Workshop on Global Software Development
Daniela E. Damian, Filippo Lanubile
ICSE2
2004 Function Clone Detection in Web Applications: A Semiautomated Approach
Fabio Calefato, Filippo Lanubile, Teresa Mallardo
J. Web Eng.2
2003 Addressing the Challenges of Software Industry Globalization: The Workshop on Global Software Development
abstract
The goal of this workshop is to provide an opportunity for researchers and industry practitioners to explore both the state-of-the art and the state-of-the-practice in global software development (GSD). Increased globalization of software development creates software engineering challenges due to the impact of temporal, geographical and cultural differences, and requires development of techniques and technologies to address these issues. The workshop will foster interaction between practitioners and researchers and help grow a community of interest in this area. Practitioners experiencing challenges in GSD will share their concerns and successful solutions and learn from research about current investigations. Researchers addressing GSD will gain a better understanding of the key issues facing practitioners and share their work in progress with others in the field.
Daniela E. Damian, Filippo Lanubile, Heather L. Oppenheimer
ICSE2
2002 Tool Support for Distributed Inspection
abstract
Software inspection is one of the best practices for detecting and removing defects early in the software development process. We present a tool to support geographically distributed inspection teams. The tool adopts a reengineered inspection process to minimize synchronous activities and coordination problems, and a lightweight architecture to maximize easy of use and deployment.
Filippo Lanubile, Teresa Mallardo
COMPSAC1
2002 An Empirical Study of Distributed Software Maintenance
abstract
A large software project may be distributed over multiple sites when the organization believes that there are not enough people to staff a single collocated team. However, previous empirical research in the context of telecommunication organizations has shown that distance may increase cycle time and costs. We report on a large software massive maintenance project in the information systems domain, which in part has been carried out on a single site and in part across multiple sites of the same organization. We performed a comparative postmortem analysis of the two parts. Our results show that, with respect to cycle time and cost no significant differences exist among the distributed and collocated work. Indeed there is a significant difference in communication during the project. This implies that for massive maintenance activities the distribution over multiple sites can be really helpful.
Alessandro Bianchi, Danilo Caivano, Filippo Lanubile, Francesco Rago, Giuseppe Visaggio
ICSM3
2001 Software Renewal Process Comprehension using Dynamic Effort Estimation
abstract
The paper presents a method for dynamic effort estimation, together with its supporting tool, and experimental validation on a renewal project of a very aged software system. Method characteristics such as dynamic tuning and fine granularity allow the tool to quickly react to process variations. The experimental validation shows how the combination of meaningful predictors and fine grain calibration is effective for understanding the enacted process and its implicit changes, or controlling the efficacy of explicit process changes. The study also confirms that the estimation model is process-dependent and then cannot be reused for other processes, albeit similar.
Danilo Caivano, Filippo Lanubile, Giuseppe Visaggio
ICSM2
2000 Investigating Reading Techniques for Object-Oriented Framework Learning
abstract
The empirical study described in the paper addresses software reading for construction: how application developers obtain an understanding of a software artifact for use in new system development. The study focuses on the processes that developers would engage in when learning and using object oriented frameworks. We analyzed 15 student software development projects using both qualitative and quantitative methods to gain insight into what processes occurred during framework usage. The contribution of the study is not to test predefined hypotheses but to generate well-supported hypotheses for further investigation. The main hypotheses produced are that example based techniques are well suited to use by beginning learners, while hierarchy based techniques are not, because of a larger learning curve. Other more specific hypotheses are proposed and discussed.
Forrest Shull, Filippo Lanubile, Victor R. Basili
IEEE Trans. Software Eng.2
1999 Building Knowledge through Families of Experiments
abstract
Experimentation in software engineering is necessary but difficult. One reason is that there are a large number of context variables and, so, creating a cohesive understanding of experimental results requires a mechanism for motivating studies and integrating results. It requires a community of researchers that can replicate studies, vary context variables, and build models that represent the common observations about the discipline. The paper discusses the experience of the authors, based upon a collection of experiments, in terms of a framework for organizing sets of related studies. With such a framework, experiments can be viewed as part of common families of studies, rather than being isolated events. Common families of studies can contribute to important and relevant hypotheses that may not be suggested by individual experiments. A framework also facilitates building knowledge in an incremental manner through the replication of experiments within families of studies. To support the framework, the paper discusses the experiences of the authors in carrying out empirical studies, with specific emphasis on persistent problems encountered in experimental design, threats to validity, criteria for evaluation, and execution of experiments in the domain of software engineering.
Victor R. Basili, Forrest Shull, Filippo Lanubile
IEEE Trans. Software Eng.3
1998 Investigating Maintenance Processes in a Framework-Based Environment
abstract
The empirical study described in this paper focuses on the effectiveness of maintenance processes in an environment in which a repository of potential sources of reuse exists, e.g. a context in which applications are built using an object-oriented framework. Such a repository might contain current and previous releases of the system under maintenance, as well as other applications that are built on a similar structure or contain similar functionality. This paper presents an observational study of 15 student projects in framework-based environment. We used a mix of qualitative and quantitative methods to identify and evaluate the effectiveness of the maintenance processes.
Victor R. Basili, Filippo Lanubile, Forrest Shull
ICSM2
1998 Empirical Studies of Software Maintenance: A Report from WESS '97
Lionel C. Briand, Filippo Lanubile, Shari Lawrence Pfleeger, Gregg Rothermel, Norman F. Schneidewind
Empir. Softw. Eng.2
1997 A Replicated Experiment to Assess Requirements Inspection Techniques
Pierfrancesco Fusaro, Filippo Lanubile, Giuseppe Visaggio
Empir. Softw. Eng.2
1997 Empirical Evaluation of Software Maintenance Technologies
Filippo Lanubile
Empir. Softw. Eng.1
1997 Evaluating predictive quality models derived from software measures: Lessons learned
Filippo Lanubile, Giuseppe Visaggio
J. Syst. Softw.1
1997 Extracting Reusable Funtions by Flow Graph-Based Program Slicing
abstract
An alternative approach to developing reusable components from scratch is to recover them from existing systems. In this paper, we apply program slicing, a program decomposition method, to the problem of extracting reusable functions from ill-structured programs. As with conventional slicing first described by Weiser, a slice is obtained by iteratively solving data flow equations based on a program flow graph. We extend the definition of program slice to a transform slice, one that includes statements which contribute directly or indirectly to transform a set of input variables into a set of output variables. Unlike conventional program slicing, these statements do not include either the statements necessary to get input data or the statements which test the binding conditions of the function. Transform slicing presupposes the knowledge that a function is performed in the code and its partial specification, only in terms of input and output data. Using domain knowledge we discuss how to formulate expectations of the functions implemented in the code. In addition to the input/output parameters of the function, the slicing criterion depends on an initial statement, which is difficult to obtain for large programs. Using the notions of decomposition slice and concept validation we show how to produce a set of candidate functions, which are independent of line numbers but must be evaluated with respect to the expected behavior. Although human interaction is required, the limited size of candidate functions makes this task easier than looking for the last function instruction in the original source code.
Filippo Lanubile, Giuseppe Visaggio
IEEE Trans. Software Eng.1
1996 The empirical investigation of Perspective-Based Reading
Victor R. Basili, Scott Green, Oliver Laitenberger, Filippo Lanubile, Forrest Shull, Lars Sivert Sørumgård, Marvin V. Zelkowitz
Empir. Softw. Eng.4
1995 Iterative reengineering to compensate for quick-fix maintenance
abstract
A typical approach to software maintenance is analyzing just the source code, applying some patches, releasing the new version, and then updating the documentation. This quick-fix approach usually leads to documentation not aligned with the current system and degrades the original system structure, thus rendering the evolution of the system costly and error-prone. Although there are alternative maintenance models which avoid these problems, by analyzing and updating the system documentation first, the quick-fix approach continues to be popular because of the time pressure for new releases and the resistance to change of maintenance programmers. In this paper, we propose an iterative reengineering model which can be run each time the maintainability and reliability of a software system degrade under a tolerance level. The reengineering process, applied after a number of modifications, can result in renovation of the current system or simply in realignment of the documentation. In this context, reengineering is no longer a one-shot process but becomes an ordinary process which runs concurrently with the quick-fix maintenance process. The results obtained with an industrial case study are presented and the lessons learned are discussed.
Filippo Lanubile, Giuseppe Visaggio
ICSM1
1995 Comparing models for identifying fault-prone software components
Filippo Lanubile, A. Lonigro, Giuseppe Vissagio
SEKE1
1995 Iesem: Integrated Environment for Software Evolution Management
abstract
Software evolution has no common paradigm which practitioners can adhere to. On the contrary, there is a wide range of models, methods, techniques, and tools which are selected according to the specific task, the application domain, the professional experience, and the organizational culture. We argue that different approaches and technologies may be combined into a unique platform to satisfy the needs of software systems which evolve over long periods of time. This paper presents the Integrated Environment for Software Evolution Management (IESEM) which includes software repositories, reverse engineering tools, rationale capture tools, software measurement tools, and a user-friendly interface. It can manage heterogeneous systems characterized by various design methods and programming languages. IESEM is based on a central repository which stores software engineering artifacts, program code, design, and implementation decisions in the form of a traceability graph. The repository stores also software measures computed both from programs and external CASE repositories. Measures are used to control software degradation during its evolution and to support decisions based on quality factors. The key concepts of IESEM, its design, and implementation are presented. The use of IESEM during development and maintenance is discussed. A case study shows IESEM's effectiveness in performing maintenance tasks.
Gerardo Canfora, Filippo Lanubile, Giuseppe Visaggio
Int. J. Softw. Eng. Knowl. Eng.2
1995 Decision-driven Maintenance
abstract
Abstract This paper presents our approach to design recording which aims to facilitate the impact analysis of changes in data, functions, or the external environment. A whole software system is represented as a web which integrates the different work products of the software life cycle and their mutual relationships. A traceability relationship associates the objects with each other so that impact analysis can be performed. Internal traceability is provided by semantic links between software objects representing the work products of a development phase, while external traceability is assured by the cognitive links between software objects from different phases. System understanding is supported by the decisions which are involved in the transformation process. The history of these decisions is retained over time so that previous decisions can be examined for maintenance and reuse activities. The approach has been implemented through a Traceability Support System, a maintenance tool which combines the characteristics of program abstractors, project databases and design rationale capture tools. The approach and the tool also both support traceability in heterogeneous systems, which have subsystems implemented on different platforms. Finally, analysis is made of the results of an empirical investigation carried out to assess the approach.
Filippo Lanubile, Giuseppe Visaggio
J. Softw. Maintenance Res. Pract.1
1994 An Experiment on the Effect of Design Recording on Impact Analysis
abstract
An experimental study is presented in which participants perform impact analysis on alternate forms of design record information. The primary objective of the research is to assess the software maintainer's performance with respect to various approaches of design recording. One of the approaches is the model dependency descriptor, which includes decision capturing and explicit traceability links between software objects and decisions. Results indicate that design recording approaches slightly differ in work completeness and time-to-finish, but the model dependency descriptor leads to the most accurate impact analysis. These results suggest that design records have the potential to be effective for software maintenance, but training and process discipline is needed to make design recording worthwhile.>
Fabio Abbattista, Filippo Lanubile, Gemma Mastelloni, Giuseppe Visaggio
ICSM2
1994 Open architecture for a process-centered development environment
Fabio Abbattista, Filippo Lanubile, Giuseppe Visaggio
SEKE2
1993 Function Recovery Based on Program Slicing
abstract
The identification and extraction of two main kinds of components, environment-dependent operations and domain-dependent functionalities, are proposed. A reference information model drives the process by giving expectations of components and their interface data. Two modified definitions of Weiser's slicing are applied to this function recovery problem: direct slice and transform slice. Direct slice is an executable subset of the original program containing all the statements which directly contribute either to the writing on an external sink or to the reading from an external source. Transform slice is also an executable subset including all the instructions which directly or indirectly contribute to transform an external input into an external output.>
Filippo Lanubile, Giuseppe Visaggio
ICSM1
1992 Traceability based on design decisions
abstract
The authors model the different points of view on a software structure as distinct conceptual models. The mapping among models of the same software structure is made through the assumption of design decisions. This mapping is represented as a graph, the model dependency descriptor, which connects components of source models with those in the target models. A traceability relation is set between components by producing the transitive closure of the model dependency descriptor. The traceability relation which is proposed links objects and also tracks decisions having a role in the transformation. A traceability support system incorporates a number of design databases and implements the model dependency descriptor. Its use enables the management of systems which were developed by using different design methods and different programming environments, and the capturing of the assumptions set during both development and maintenance.>
Aniello Cimitile, Filippo Lanubile, Giuseppe Visaggio
ICSM2
1992 Maintainability via Structure Models and Software Metrics
abstract
The spur of innovation coming from new technologies and methodologies often leads to poorly integrated systems which evolve with no disciplined management model. The authors suggest a set of conceptual models for representing a system structure, differing as regards abstraction degree (essential vs. language-oriented), decomposition method (functional vs. object-oriented), and target languages. A set of software metrics is applied to system components, to single out the critical areas which require justification. Comparing measures between different versions, variants and degrees of abstraction, enables one to monitor the growth of entropy during software evolution.>
Filippo Lanubile, Giuseppe Visaggio
SEKE1
1991 An environment for the reengineering of Pascal programs
abstract
An environment is described which supports the reengineering cycle at the design level and provides a homogeneous software configuration for the maintenance process. The environment is based on an integration tool which takes the output from a static analyzer, used for reverse engineering and populates the repository of a computer-aided-software-engineering (CASE) tool, usually used in forward engineering. The integration allows enhancement of the knowledge of the program, the reliability of modifications, the reusability and the change management. A case study is shown in which the design of a sample program is recaptured from the source code.>
Filippo Lanubile, P. Maresca, Giuseppe Visaggio
ICSM1
1990 Evaluation of Characteristics of Design Quality Metrics
Giuseppe Como, Filippo Lanubile, Giuseppe Visaggio
SEKE2