English
Related papers

Related papers: How Different Are Different diff Algorithms in Git…

200 papers

Modern version control systems such as Git or SVN include bug tracking mechanisms, through which developers can highlight the presence of bugs through bug reports, i.e., textual descriptions reporting the problem and what are the steps that…

Software Engineering · Computer Science 2019-07-26 Gemma Catolino , Fabio Palomba , Andy Zaidman , Filomena Ferrucci

Bug-fix benchmarks are essential for evaluating methodologies in automatic program repair (APR) and fault localization (FL). However, existing benchmarks, exemplified by Defects4J, need to evolve to incorporate recent bug-fixes aligned with…

Software Engineering · Computer Science 2024-11-04 André Silva , Nuno Saavedra , Martin Monperrus

Computer programs often behave differently under different compilers or in different computing environments. Relative debugging is a collection of techniques by which these differences are analysed. Differences may arise because of…

Software Engineering · Computer Science 2013-04-12 John Collins , Brian Farrimond , David Flower , Mark Anderson , David Gill

Since compiler optimization is the most common source contributing to binary code differences in syntax, testing the resilience against the changes caused by different compiler optimization settings has become a standard evaluation step for…

Programming Languages · Computer Science 2021-03-26 Xiaolei Ren , Michael Ho , Jiang Ming , Yu Lei , Li Li

In order to understand the state and evolution of the entirety of open source software we need to get a handle on the set of distinct software projects. Most of open source projects presently utilize Git, which is a distributed version…

Social and Information Networks · Computer Science 2020-04-07 Audris Mockus , Diomidis Spinellis , Zoe Kotti , Gabriel John Dusing

Reliable handling of code diffs is central to agents that edit and refactor repositories at scale. We introduce Diff-XYZ, a compact benchmark for code-diff understanding with three supervised tasks: apply (old code $+$ diff $\rightarrow$…

Software Engineering · Computer Science 2025-11-18 Evgeniy Glukhov , Michele Conti , Egor Bogomolov , Yaroslav Golubev , Alexander Bezzubov

Deep neural networks tend to make overconfident predictions and often require additional detectors for misclassifications, particularly for safety-critical applications. Existing detection methods usually only focus on adversarial attacks…

Machine Learning · Computer Science 2023-07-07 Julia Lust , Alexandru P. Condurache

The migration process between different third-party libraries is hard, complex and error-prone. Typically, during a library migration, developers need to find methods in the new library that are most adequate in replacing the old methods of…

Software Engineering · Computer Science 2019-06-07 Hussein Alrubaye , Mohamed Wiem Mkaouer , Ali Ouni

While most forks on platforms like GitHub are short-lived and used for social collaboration, a smaller but impactful subset evolve into long-lived forks, referred to here as variants, that maintain independent development trajectories.…

Software Engineering · Computer Science 2025-08-12 Daniel Ogenrwot , John Businge

Detecting Bug Inducing Commit (BIC) or Just in Time (JIT) defect prediction using Machine Learning (ML) based models requires tabulated feature values extracted from the source code or historical maintenance data of a software system.…

Software Engineering · Computer Science 2025-03-04 Md Nadim , Banani Roy

Context: Recent research has used data mining to develop techniques that can guide developers through source code changes. To the best of our knowledge, very few studies have investigated data mining techniques and--or compared their…

Software Engineering · Computer Science 2023-05-02 AmirHossein Naghshzan , Saeed Khalilazar , Pierre Poilane , Olga Baysal , Latifa Guerrouj , Foutse Khomh

Developers that use version control systems can work in parallel with other developers and merge their versions afterwards. Sometimes these merges fail, demanding manual intervention to resolve conflicts. Some studies aim at analyzing the…

Software Engineering · Computer Science 2018-11-26 Tayane Silva Fernandes de Moura , Leonardo Gresta Paulino Murta

Nowadays, development teams often rely on tools such as Jira or Bugzilla to manage backlogs of issues to be solved to develop or maintain software. Although they relate to many different concerns (e.g., bug fixing, new feature development,…

Software Engineering · Computer Science 2021-03-24 Quentin Perez , Pierre-Antoine Jean , Christelle Urtado , Sylvain Vauttier

Version Control Systems (VCS) are frequently used to support development of large-scale software projects. A typical VCS repository of a large project can contain various intertwined branches consisting of a large number of commits. If some…

Software Engineering · Computer Science 2017-08-23 Jaroslav Bendik , Nikola Benes , Ivana Cerna

A trained ML model is deployed on another `test' dataset where target feature values (labels) are unknown. Drift is distribution change between the training and deployment data, which is concerning if model performance changes. For a…

Applications · Statistics 2022-09-07 Samuel Ackerman , Eitan Farchi , Orna Raz , Marcel Zalmanovici , Parijat Dube

In current research, there are contrasting results about the applicability of software source code metrics as features for defect prediction models. The goal of the paper is to evaluate the adoption of software metrics in models for…

Software Engineering · Computer Science 2023-01-20 Dominik Arne Rebro , Bruno Rossi , Stanislav Chren

The absolute majority of software today is developed collaboratively using collaborative version control tools such as Git. It is a common practice that once a vulnerability is detected and fixed, the developers behind the software issue a…

Cryptography and Security · Computer Science 2023-02-07 Nitzan Farhi , Noam Koenigstein , Yuval Shavitt

Continuous integration (CI) is widely used by developers to ensure the quality and reliability of their software projects. However, diagnosing a CI regression is a tedious process that involves the manual analysis of lengthy build logs. In…

Software Engineering · Computer Science 2025-04-28 Nicolas Hubner , Jean-Rémy Falleri , Raluca Uricaru , Thomas Degueule , Thomas Durieux

In recent years, defect prediction has received a great deal of attention in the empirical software engineering world. Predicting software defects before the maintenance phase is very important not only to decrease the maintenance costs but…

Software Engineering · Computer Science 2018-08-31 Ahmet Okutan

One single code change can significantly influence a wide range of software systems and their users. For example, 1) adding a new feature can spread defects in several modules, while 2) changing an API method can improve the performance of…

Software Engineering · Computer Science 2016-06-13 Daoyuan Li , Li Li , Dongsun Kim , Tegawendé F. Bissyandé , David Lo , Yves Le Traon