English
Related papers

Related papers: Invariant Diffs

200 papers

Software development processes are subject to variations in time and space, variations that can originate from learning effects, differences in application domains, or a number of other causes. Identifying and analyzing such differences is…

Software Engineering · Computer Science 2014-01-21 Martín Soto , Jürgen Münch

Developing complex software requires that multiple views and versions of the software can be developed in parallel and merged as supported by views and managed by version control systems. In this context, this paper considers monitoring…

Software Engineering · Computer Science 2022-07-12 Matthias Barkowsky , Holger Giese

Software evolves with changes to its codebase over time. Internally, software changes in response to decisions to include some code change into the codebase and discard others. Explaining the mechanism of software evolution, this paper…

Software Engineering · Computer Science 2021-06-04 Ayushi Rastogi , Georgios Gousios

We introduce a simple microscopic description of software bug dynamics where users, programmers and a maintainer interact through a given program, with a particular emphasis on bug creation, detection and fixing. When the program is written…

Statistical Mechanics · Physics 2007-05-23 Damien Challet , Yann Le Du

Software source code often harbours "hotspots": small portions of the code that change far more often than the rest of the project and thus concentrate maintenance activity. We mine the complete version histories of 91 evolving, actively…

Software Engineering · Computer Science 2026-02-16 Saleha Muzammil , Mughees Ur Rehman , Zoe Kotti , Diomidis Spinellis

The label quality of defect data sets has a direct influence on the reliability of defect prediction models. In this study, for multi-version-project defect data sets, we propose an approach to automatically detecting instances with…

Software Engineering · Computer Science 2021-01-29 Shiran Liu , Zhaoqiang Guo , Yanhui Li , Chuanqi Wang , Lin Chen , Zhongbin Sun , Yuming Zhou

Developers create software branches for tentative feature addition and bug fixing, and periodically merge branches to release software with new features or repairing patches. When the program edits from different branches textually overlap…

Software Engineering · Computer Science 2021-03-04 Bowen Shen , Cihan Xiao , Na Meng , Fei He

Context. Variability-intensive programs (program families) appear in many application areas and for many reasons today. Different family members, called variants, are derived by switching statically configurable options (features) on and…

Programming Languages · Computer Science 2017-02-01 Alexandru Florin Iosif-Lazar , Jean Melo , Aleksandar S. Dimovski , Claus Brabrand , Andrzej Wasowski

Changes, planned or unexpected, are common during the execution of real-life processes. Detecting these changes is a must for optimizing the performance of organizations running such processes. Most of the algorithms present in the…

Artificial Intelligence · Computer Science 2025-10-28 Victor Gallego-Fontenla , Juan C. Vidal , Manuel Lama

More often than not, there is a need to understand the structure of complex computer code: what functions and in what order they are called, how information travels around static, input, and output variables, what depends on what. As a…

Software Engineering · Computer Science 2016-10-10 Igor Polkovnikov

The development process of scientific applications is largely dependent on scientific progress and the experimental research results. Thus, dealing with frequent changes is one of the main problems faced by the developers of scientific…

Software Engineering · Computer Science 2014-05-09 Bojana Koteska , Anastas Misev

Traditional algorithms for detecting differences in source code focus on differences between lines. As such, little can be learned about abstract changes that occur over time within a project. Structural differencing on the program's…

Software Engineering · Computer Science 2013-07-09 Jason Dagit , Matthew Sottile

A version control system, such as Git, requires a way to integrate changes from different developers or branches. Given a merge scenario, a merge tool either outputs a clean integration of the changes, or it outputs a conflict for manual…

Software Engineering · Computer Science 2024-10-15 Benedikt Schesch , Ryan Featherman , Kenneth J. Yang , Ben R. Roberts , Michael D. Ernst

Difference-in-differences (DiD) identification relies mainly on a parallel trends assumption about untreated potential outcomes. Researchers often relax this assumption by assuming conditional parallel trends within units with the same…

Methodology · Statistics 2026-05-05 Daniela Rodrigues , Laura A. Hatfield

Change-prone classes or modules are defined as software components in the source code which are likely to change in the future. Change-proneness prediction is useful to the maintenance team as they can optimize and focus their testing…

Software Engineering · Computer Science 2017-12-22 Lov Kumar , Ashish Sureka

Natural language comments convey key aspects of source code such as implementation, usage, and pre- and post-conditions. Failure to update comments accordingly when the corresponding code is modified introduces inconsistencies, which is…

Software Engineering · Computer Science 2020-12-29 Sheena Panthaplackel , Junyi Jessy Li , Milos Gligoric , Raymond J. Mooney

Background: Code cloning - copying and reusing pieces of source code - is a common phenomenon in software development in practice. There have been several empirical studies on the effects of cloning, but there are contradictory results…

Software Engineering · Computer Science 2016-11-28 Stefan Wagner , Asim Abdulkhaleq , Kamer Kaya , Alexander Paar

Zero-day vulnerabilities can be accidentally or maliciously placed in code and can remain in place for years. In this study, we address an aspect of their longevity by considering the likelihood that they will be discovered in the code…

Cryptography and Security · Computer Science 2018-09-03 Andrew J. Lohn

Static analysers search for overapproximating proofs of safety commonly known as safety invariants. Fundamentally, such analysers summarise traces into sets of states, thus trading the ability to distinguish traces for computational…

Programming Languages · Computer Science 2015-03-19 Cristina David , Daniel Kroening , Matt Lewis

Changes, they use to say, are the only constant in life. Everything changes rapidly around us, and more and more key to survival is the ability to rapidly adapt to changes. This consideration applies to many aspects of our lives. Strangely…

Software Engineering · Computer Science 2015-04-16 Vincenzo De Florio , Chris Blondia