English
Related papers

Related papers: Evaluation of Version Control Merge Tools

200 papers

With distributed computing and mobile applications, synchronizing diverging replicas of data structures is a more and more common problem. We use algebraic methods to reason about filesystem operations, and introduce a simplified definition…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-07-24 Elod Pal Csirmaz

Increasing code velocity is a common goal for a variety of software projects. The efficiency of the code review process significantly impacts how fast the code gets merged into the final product and reaches the customers. We conducted a…

Software Engineering · Computer Science 2023-11-07 Gunnar Kudrjavets , Ayushi Rastogi

We present RETA (Relative Timing Analysis), a differential timing analysis technique to verify the impact of an update on the execution time of embedded software. Timing analysis is computationally expensive and labor intensive. Software…

Software Engineering · Computer Science 2023-07-10 Ahmed El Yaacoub , Luca Mottola , Thiemo Voigt , Philipp Rümmer

A source code difference (diff) indicates changes made by comparing new and old source codes, and it can be utilized in code reviews to help developers understand the changes made to the code. Although many diff generation methods have been…

Software Engineering · Computer Science 2024-09-27 Tsukasa Yagi , Shinpei Hayashi

During acceptance testing customers assess whether a system meets their expectations and often identify issues that should be improved. These findings have to be communicated to the developers a task we observed to be error prone,…

Software Engineering · Computer Science 2014-09-02 Olga Liskin , Christoph Herrmann , Eric Knauss , Thomas Kurpick , Bernhard Rumpe , Kurt Schneider

Software repositories such as Git have become a relevant source of information for software engineer researcher. For instance, the detection of Commits that fulfill a given criterion (e.g., bugfixing commits) is one of the most frequent…

Software Engineering · Computer Science 2019-06-11 Matias Martinez , Martin Monperrus

Formal verification of software is a bit of a niche activity: it is only applied to the most safety-critical or security-critical software and it is typically only performed by specialized verification engineers. This paper considers…

Logic in Computer Science · Computer Science 2020-11-02 Alastair Reid , Luke Church , Shaked Flur , Sarah de Haas , Maritza Johnson , Ben Laurie

The advent of automation in particular Software Engineering (SE) tasks has transitioned from theory to reality. Numerous scholarly articles have documented the successful application of Artificial Intelligence to address issues in areas…

Software Engineering · Computer Science 2023-05-26 Nathalia Nascimento , Paulo Alencar , Donald Cowan

During the software lifecycle, a program can evolve several times for different reasons such as the optimisation of a bottle-neck, the refactoring of an obscure function, etc. These code changes often involve several functions or modules,…

Programming Languages · Computer Science 2017-09-18 David Insa , Sergio Pérez , Josep Silva , Salvador Tamarit

Evolving software is challenging, even more when it exists in many different variants. Such software evolves not only in time, but also in space--another dimension of complexity. While evolution in space is supported by a variety of…

Software Engineering · Computer Science 2021-12-03 Christoph Derks , Daniel Strüber , Thorsten Berger

Static code analysis tools are designed to aid software developers to build better quality software in less time, by detecting defects early in the software development life cycle. Even the most experienced developer regularly introduces…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-02-05 Manuel Arenaz , Xavier Martorell

Model checking is an established technique to formally verify automation systems which are required to be trusted. However, for sufficiently complex systems model checking becomes computationally infeasible. On the other hand, testing,…

Software Engineering · Computer Science 2019-07-30 Igor Buzhinsky , Valeriy Vyatkin

Today's software quality assurance techniques are often applied in isolation. Consequently, synergies resulting from systematically integrating different quality assurance activities are often not exploited. Such combinations promise…

Software Engineering · Computer Science 2013-11-26 Frank Elberzhager , Alla Rosbach , Jürgen Münch , Robert Eschbach

Automated verification tools based on SMT solvers have made significant progress in verifying complex software systems. However, these tools face a fundamental tension between automation and performance when dealing with quantifier…

Software Engineering · Computer Science 2025-12-04 Alexander Y. Bai , Chris Hawblitzel , Andrea Lattuada

Combining the results of different search engines in order to improve upon their performance has been the subject of many research papers. This has become known as the "Data Fusion" task, and has great promise in dealing with the vast…

Information Retrieval · Computer Science 2018-02-13 Weinan Huang , Junyi Chen , Lei Meng , David Lillis

Software clones have been an active area of research for the past two decades. However, although numerous clone detection tools are now available, only a small fraction of the literature has focused on tool evaluation, and this is in fact…

Software Engineering · Computer Science 2015-03-03 Rachel Gauci

DevOps integrates collaboration, automation, and continuous improvement, enhancing agility, reducing time to market, and ensuring consistent software releases. A key component of this process is GitLab's Merge Request (MR) mechanism, which…

Software Engineering · Computer Science 2025-06-11 Samah Kansab , Matthieu Hanania , Francis Bordeleau , Ali Tizghadam

The test pyramid is a conceptual model that describes how quality checks can be organized to ensure coverage of all components of a system, at all scales. Originally conceived to help aerospace engineers plan tests to determine how material…

Software Engineering · Computer Science 2020-11-03 Nicole Radziwill , Graham Freeman

In modern computing systems, compilation employs numerous optimization techniques to enhance code performance. Source-to-source code transformations, which include control flow and datapath transformations, have been widely used in…

Hardware Architecture · Computer Science 2025-06-09 Jiaqi Yin , Zhan Song , Nicolas Bohm Agostini , Antonino Tumeo , Cunxi Yu

Version control is critical in mechanical computer-aided design (CAD) to enable traceability, manage product variation, and support collaboration. Yet, its implementation in modern CAD software as an essential information infrastructure for…

Human-Computer Interaction · Computer Science 2026-02-11 Yuanzhe Deng , Shutong Zhang , Kathy Cheng , Alison Olechowski , Shurui Zhou