4.5 Article

Predicting software defects with causality tests

期刊

JOURNAL OF SYSTEMS AND SOFTWARE
卷 93, 期 -, 页码 24-41

出版社

ELSEVIER SCIENCE INC
DOI: 10.1016/j.jss.2014.01.033

关键词

Defect prediction; Causality; Granger test

资金

  1. FAPEMIG
  2. CAPES
  3. CNPq

向作者/读者索取更多资源

In this paper, we propose a defect prediction approach centered on more robust evidences towards causality between source code metrics (as predictors) and the occurrence of defects. More specifically, we rely on the Granger causality test to evaluate whether past variations in source code metrics values can be used to forecast changes in time series of defects. Our approach triggers alarms when changes made to the source code of a target system have a high chance of producing defects. We evaluated our approach in several life stages of four Java-based systems. We reached an average precision greater than 50% in three out of the four systems we evaluated. Moreover, by comparing our approach with baselines that are not based on causality tests, it achieved a better precision. (C) 2014 Elsevier Inc. All rights reserved.

作者

我是这篇论文的作者
点击您的名字以认领此论文并将其添加到您的个人资料中。

评论

主要评分

4.5
评分不足

次要评分

新颖性
-
重要性
-
科学严谨性
-
评价这篇论文

推荐

Article Computer Science, Software Engineering

How do developers react to API evolution? A large-scale empirical study

Andre Hora, Romain Robbes, Marco Tulio Valente, Nicolas Anquetil, Anne Etien, Stephane Ducasse

SOFTWARE QUALITY JOURNAL (2018)

Article Computer Science, Software Engineering

Co-change patterns: A large scale empirical study

Luciana L. Silva, Marco Tulio Valente, Marcelo A. Maia

JOURNAL OF SYSTEMS AND SOFTWARE (2019)

Article Computer Science, Software Engineering

You broke my code: understanding the motivations for breaking changes in APIs

Aline Brito, Marco Tulio Valente, Laerte Xavier, Andre Hora

EMPIRICAL SOFTWARE ENGINEERING (2020)

Article Computer Science, Information Systems

Is this GitHub project maintained? Measuring the level of maintenance activity of open-source projects

Jailton Coelho, Marco Tulio Valente, Luciano Milen, Luciana L. Silva

INFORMATION AND SOFTWARE TECHNOLOGY (2020)

Article Computer Science, Information Systems

Mining the Technical Roles of GitHub Users

Joao Eduardo Montandon, Marco Tulio Valente, Luciana L. Silva

Summary: This paper investigates machine-learning based approaches to automatically identify the technical roles of open source developers. By building machine-learning models to identify different roles, the study shows that programming languages are the most relevant feature for predicting roles.

INFORMATION AND SOFTWARE TECHNOLOGY (2021)

Article Computer Science, Software Engineering

On the documentation of self-admitted technical debt in issues

Laerte Xavier, Joao Eduardo Montandon, Fabio Ferreira, Rodrigo Brito, Marco Tulio Valente

Summary: Self-Admitted Technical Debt (Satd) refers to developers reporting their sub-optimal technical solutions through source code comments or labeled issues. The study found that developers introduce technical debt to deliver products faster, with design flaws being the major cause. Additionally, most developers pay off technical debt to reduce its costs or interests. However, the research also discovered that developers are not interested in automatically transforming comments into issues, and it may not be feasible to create a tool to recommend explicit links between comments and issues.

EMPIRICAL SOFTWARE ENGINEERING (2022)

Article Computer Science, Software Engineering

Migrating the Communication Protocol of Client-Server Applications

Gabriel Darbord, Benoit Verhaeghe, Anne Etien, Nicolas Anquetil, Anas Shatnawi, Abderrahmane Seriai, Mustapha Derras

Summary: This paper presents a collaboration project with Berger-Levrault, an international IT company, to migrate client-server applications to Angular 14 and Spring Boot. It focuses on the migration of client-server communication from RMI and GWT-RPC to REST architectural style and proposes a tool-based approach to address the issues. The migration involves identifying existing services and data structures, migrating the services and data structures on the new client side, and reducing exchanged data if needed. The approach was experimented on four applications currently using RMI or GWT-RPC.

IEEE SOFTWARE (2023)

Proceedings Paper Computer Science, Software Engineering

Report From The Trenches A Case Study In Modernizing Software Development Practices

Mahugnon Honore Houekpetodji, Nicolas Anquetil, Stephane Ducasse, Fatiha Djareddir, Jerome Sudich

Summary: The success of software development companies lies in their ability to deliver high-quality products quickly and adopt agile development practices. The impact of COVID-19 on employees, such as dealing with obsolete technologies and outdated standards during the modernization process, adds extra challenges.

2021 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2021) (2021)

Proceedings Paper Computer Science, Artificial Intelligence

Recommendations for Evolving Relational Databases

Julien Delplanque, Anne Etien, Nicolas Anquetil, Stephane Ducasse

ADVANCED INFORMATION SYSTEMS ENGINEERING, CAISE 2020 (2020)

Review Business

Lean Startup, Agile Methodologies and Customer Development for business model innovation A systematic review and research agenda

Diego Souza Silva, Antonio Ghezzi, Rafael Barbosa de Aguiar, Marcelo Nogueira Cortimiglia, Carla Schwengber ten Caten

INTERNATIONAL JOURNAL OF ENTREPRENEURIAL BEHAVIOR & RESEARCH (2020)

Proceedings Paper Automation & Control Systems

Empirical Study of Programming to an Interface

Benoit Verhaeghe, Christopher Fuhrman, Latifa Guerrouj, Nicolas Anquetil, Stephane Ducasse

34TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE 2019) (2019)

Proceedings Paper Computer Science, Software Engineering

Decomposing God Classes at Siemens

Nicolas Anquetil, Anne Etien, Gaelle Andreo, Stephane Ducasse

2019 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2019) (2019)

Proceedings Paper Computer Science, Software Engineering

GUI Migration using MDE from GWT to Angular 6: An Industrial Case

Benoit Verhaeghe, Anne Etien, Nicolas Anquetil, Abderrahmane Seriai, Laurent Deruelle, Stephane Ducasse, Mustapha Derras

2019 IEEE 26TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER) (2019)

Proceedings Paper Computer Science, Software Engineering

Relational Database Schema Evolution: An Industrial Case Study

Julien Delplanque, Anne Etien, Nicolas Anquetil, Olivier Auverlot

PROCEEDINGS 2018 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME) (2018)

Proceedings Paper Computer Science, Software Engineering

Statically Identifying Class Dependencies in Legacy JavaScript Systems: First Results

Leonardo Humberto Silva, Marco Tulio Valente, Alexandre Bergel

2017 IEEE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER) (2017)

Review Computer Science, Software Engineering

A Multi-vocal Literature Review on challenges and critical success factors of phishing education, training and awareness

Orvila Sarker, Asangi Jayatilaka, Sherif Haggag, Chelsea Liu, M. Ali Babar

Summary: This study provides a comprehensive view of the challenges and critical success factors in the design, implementation, and evaluation stages of phishing education, training, and awareness (PETA). The findings highlight the need to address human-centric issues, bridge users' knowledge gaps, and adopt personalized approaches to enhance defense against phishing attacks.

JOURNAL OF SYSTEMS AND SOFTWARE (2024)

Article Computer Science, Software Engineering

Performability evaluation of NoSQL-based storage systems☆

Carlos Araujo, Meuse Oliveira Jr., Bruno Nogueira, Paulo Maciel, Eduardo Tavares

Summary: This paper proposes a method based on stochastic Petri nets for evaluating the consistency levels of storage systems based on NoSQL DBMS. The method takes into account different consistency levels and redundant nodes, and estimates the system's availability, throughput, and the probability of accessing the newest data. Experimental results demonstrate the practical feasibility of this approach.

JOURNAL OF SYSTEMS AND SOFTWARE (2024)

Review Computer Science, Software Engineering

Monitoring tools for DevOps and microservices: A systematic grey literature review

L. Giamattei, A. Guerriero, R. Pietrantuono, S. Russo, I. Malavolta, T. Islam, M. Dinga, A. Koziolek, S. Singh, M. Armbruster, J. M. Gutierrez-Martinez, S. Caro-Alvaro, D. Rodriguez, S. Weber, J. Henss, E. Fernandez Vogelin, F. Simon Panojo

Summary: This article presents the results of a systematic study on the available monitoring tools for DevOps and microservices. It provides a classification and analysis of these tools, aiming to be a useful reference for researchers and practitioners in this field.

JOURNAL OF SYSTEMS AND SOFTWARE (2024)

Article Computer Science, Software Engineering

Harmonizing DevOps taxonomies - A grounded theory study

Jessica Diaz, Jorge Perez, Isaque Alves, Fabio Kon, Leonardo Leite, Paulo Meirelles, Carla Rocha

Summary: This paper presents empirical research on the structure of DevOps teams in software-producing organizations to better understand the organizational structure and characteristics of teams adopting DevOps. A theory of DevOps taxonomies is built through analysis, and its consistency with other taxonomies is tested.

JOURNAL OF SYSTEMS AND SOFTWARE (2024)

Article Computer Science, Software Engineering

Managing the changing understanding of benefits in software initiatives

Sinan Sigurd Tanilkan, Jo Erskine Hannay

Summary: When deciding to develop new software, it is important to have a clear understanding of the intended benefits. However, our research shows that stakeholders' understanding of benefits often fluctuates during the development process, leading to uncertainty. Therefore, we recommend focusing on helping practitioners embrace changes in their understanding of benefits.

JOURNAL OF SYSTEMS AND SOFTWARE (2024)

Article Computer Science, Software Engineering

Detecting security vulnerabilities with vulnerability nets

Pingyan Wang, Shaoying Liu, Ai Liu, Wen Jiang

Summary: This paper presents an approach that combines static analysis tools and manual audits to effectively detect various types of security vulnerabilities. By using a special Petri net representation, the proposed method is able to assist in the detection of taint-style vulnerabilities.

JOURNAL OF SYSTEMS AND SOFTWARE (2024)

Article Computer Science, Software Engineering

Early analysis of requirements using NLP and Petri-nets

Edgar Sarmiento-Calisaya, Julio Cesar Sampaio do Prado Leite

Summary: This research introduces an automated requirements analysis approach that combines natural language processing, Petri-nets, and visualization techniques to improve the quality of scenario-based specifications, identify defects, and anticipate inconsistencies.

JOURNAL OF SYSTEMS AND SOFTWARE (2024)

Article Computer Science, Software Engineering

Trace matrix optimization for fault localization

Jian Hu

Summary: This paper proposes a two-stage trace matrix optimization method for fault localization, which addresses the challenges of coincidental correctness and data imbalance in the current trace matrix. Through extensive experiments, significant improvements in fault localization effectiveness are demonstrated.

JOURNAL OF SYSTEMS AND SOFTWARE (2024)

Article Computer Science, Software Engineering

Hierarchical features extraction and data reorganization for code search

Fan Zhang, Manman Peng, Yuanyuan Shen, Qiang Wu

Summary: This study proposes a novel method called HFEDR that utilizes the hierarchical features of Transformer models and reorganizes training data to improve code search performance. Experimental results demonstrate the effectiveness and rationality of the proposed approach.

JOURNAL OF SYSTEMS AND SOFTWARE (2024)

Article Computer Science, Software Engineering

EsArCost: Estimating repair costs of software architecture erosion using slice technology

Tong Wang, Bixin Li

Summary: Software architecture erosion has a negative impact on software quality, performance, and evolution cost. This paper proposes an approach called EsArCost to locate the causes of architecture erosion and estimate the repair cost of each erosion problem. Experimental results show that EsArCost can effectively and efficiently estimate repair costs.

JOURNAL OF SYSTEMS AND SOFTWARE (2024)

Article Computer Science, Software Engineering

SYNTONY: Potential-aware fuzzing with particle swarm optimization

Xiajing Wang, Rui Ma, Wei Huo, Zheng Zhang, Jinyuan He, Chaonan Zhang, Donghai Tian

Summary: This paper proposes a new potential-aware fuzzing scheme called SYNTONY that measures seed potential using multiple objectives and prioritizes promising seeds to increase the number of unique crashes and coverage. Experimental results show that SYNTONY outperforms other fuzzing tools and has high compatibility and expansibility.

JOURNAL OF SYSTEMS AND SOFTWARE (2024)

Article Computer Science, Software Engineering

An Empirical Investigation Into the Influence of Software Communities' Cultural and on

Stefano Lambiase, Gemma Catolino, Fabiano Pecorelli, Damian A. Tamburri, Fabio Palomba, Willem-Jan van den Heuvel, Filomena Ferrucci

Summary: This paper contributes to the existing body of knowledge on factors affecting productivity in software development by studying the cultural and geographical dispersion of a development community. The results show that cultural and geographical dispersion significantly impact productivity, suggesting that managers and practitioners should consider these aspects throughout the software development lifecycle.

JOURNAL OF SYSTEMS AND SOFTWARE (2024)

Article Computer Science, Software Engineering

The effects of required security on software development effort

Elaine Venson, Bradford Clark, Barry Boehm

Summary: The software industry has been under pressure to adopt security practices and reduce software vulnerabilities. This study quantifies the effort required to develop secure software in increasing levels of rigor and scope and provides validated cost multipliers for practitioners to estimate proper resources for adopting security practices.

JOURNAL OF SYSTEMS AND SOFTWARE (2024)

Article Computer Science, Software Engineering

Towards an understanding of intra-defect associations: Implications for defect prediction

Yangyang Zhao, Mingyue Jiang, Yibiao Yang, Yuming Zhou, Hanjie Ma, Zuohua Ding

Summary: Previous studies have ignored the potential associations between modules involved in the same defect, and this comprehensive study explores the implications of intra-defect associations for defect prediction. The majority of defects occur across functions, with implicit dependencies between the modules. By considering intra-defect associations and merging modules, the proposed data processing approach significantly improves defect prediction performance.

JOURNAL OF SYSTEMS AND SOFTWARE (2024)

Article Computer Science, Software Engineering

Learning to empathize with users through design thinking in hybrid mode: Insights from two educational case studies

Meira Levy, Irit Hadar

Summary: This research sheds new light on how students learn and practice hybrid work in educational settings through two educational studies. The findings show the benefits of new educational programs in fostering empathy and innovation among students, while also highlighting the challenges and opportunities in addressing real challenges.

JOURNAL OF SYSTEMS AND SOFTWARE (2024)