English
Related papers

Related papers: Automated Regression Unit Test Generation for Prog…

200 papers

Branching and merging are common practices in collaborative software development, increasing developer's productivity. Despite such benefits, developers need to merge software and resolve merge conflicts. While modern merge techniques can…

Software Engineering · Computer Science 2025-07-10 Léuson Da Silva , Paulo Borba , Toni Maciel , Wardah Mahmood , Thorsten Berger , João Moisakis , Aldiberg Gomes , Vinícius Leite

During the software evolution, existing features may be adversely affected by new changes, which is well known as regression errors. Maintaining a high-quality test suite is helpful to prevent regression errors, whereas it heavily depends…

Software Engineering · Computer Science 2020-09-23 Tao Ji , Liqian Chen , Xiaoguang Mao , Xin Yi , Jiahong Jiang

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

Collaborative software development is an integral part of the modern software development life cycle, essential to the success of large-scale software projects. When multiple developers make concurrent changes around the same lines of code,…

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

Unit testing verifies the presence of faults in individual software components. Previous research has been targeting the automatic generation of unit tests through the adoption of random or search-based algorithms. Despite their…

Software Engineering · Computer Science 2022-04-13 Fabiano Pecorelli , Giovanni Grano , Fabio Palomba , Harald C. Gall , Andrea De Lucia

Regression testing is crucial in ensuring that pure code refactoring does not adversely affect existing software functionality, but it can be expensive, accounting for half the cost of software maintenance. Automated test case generation…

Software Engineering · Computer Science 2024-01-05 Alejandra Duque-Torres , Claus Klammer , Dietmar Pfahl , Stefan Fischer , Rudolf Ramler

Researchers and practitioners have designed and implemented various automated test case generators to support effective software testing. Such generators exist for various languages (e.g., Java, C#, or Python) and for various platforms…

Systematic testing of object-oriented software turned out to be much more complex than testing conventional software. Especially the highly incremental and iterative development cycle demands both many more changes and partially implemented…

Software Engineering · Computer Science 2007-05-23 Mario Winter

Background. During collaborative software development, developers often use branches to add features or fix bugs. When merging changes from two branches, conflicts may occur if the changes are inconsistent. Developers need to resolve these…

Software Engineering · Computer Science 2019-07-16 Moein Owhadi-Kareshk , Sarah Nadi , Julia Rubin

Automated unit test generation aims to improve software quality while reducing the time and effort required for creating tests manually. However, existing techniques primarily generate regression oracles that predicate on the implemented…

Software Engineering · Computer Science 2026-01-12 Adam Bodicoat , Gunel Jahangirova , Valerio Terragni

Semantic conflicts arise when a developer introduces changes to a codebase that unintentionally affect the behavior of changes integrated in parallel by other developers. Traditional merge tools are unable to detect such conflicts, so…

Software Engineering · Computer Science 2025-08-15 Nathalia Barbosa , Paulo Borba , Léuson Da Silva

In collaborative software development, program merging is the mechanism to integrate changes from multiple programmers. Merge algorithms in modern version control systems report a conflict when changes interfere textually. Merge conflicts…

Software Engineering · Computer Science 2021-09-08 Elizabeth Dinella , Todd Mytkowicz , Alexey Svyatkovskiy , Christian Bird , Mayur Naik , Shuvendu K. Lahiri

Software systems evolve throughout their life cycles. Many revisions are produced over time. Model checking each revision of the software is impractical. Regression verification suggests reusing intermediate results from the previous…

Software Engineering · Computer Science 2018-06-14 Fei He , Qianshan Yu , Liming Cai

Testing is widely recognized as an important stage of the software development lifecycle. Effective software testing can provide benefits such as bug finding, preventing regressions, and documentation. In terms of documentation, unit tests…

Software Engineering · Computer Science 2022-04-22 Elizabeth Dinella , Gabriel Ryan , Todd Mytkowicz , Shuvendu K. Lahiri

Unit testing plays a critical role in ensuring software correctness. However, writing unit tests manually is labor-intensive, especially for strongly typed languages like Java, motivating the need for automated approaches. Traditional…

Software Engineering · Computer Science 2026-03-27 Qinghua Xu , Guancheng Wang , Lionel Briand , Kui Liu

We present a framework for merging unit tests for autonomous systems. Typically, it is intractable to test an autonomous system for every scenario in its operating environment. The question of whether it is possible to design a single test…

Systems and Control · Electrical Eng. & Systems 2022-04-07 Josefine Graebener , Apurva Badithela , Richard M. Murray

Large Language Models (LLMs) for code generation evolve rapidly through fine-tuning, merging, or new model releases. However, such updates can introduce regressions, not only in correctness but also in code quality and performance. To…

Software Engineering · Computer Science 2025-07-28 Altaf Allah Abbassi , Leuson Da Silva , Amin Nikanjam , Foutse Khomh

Unit testing is crucial in software engineering for ensuring quality. However, it's not widely used in parallel and high-performance computing software, particularly scientific applications, due to their smaller, diverse user base and…

Software Engineering · Computer Science 2024-07-09 Rabimba Karanjai , Aftab Hussain , Md Rafiqul Islam Rabin , Lei Xu , Weidong Shi , Mohammad Amin Alipour

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
‹ Prev 1 2 3 10 Next ›