中文
相关论文

相关论文: Evaluating Developer-written Unit Test Case Reduct…

200 篇论文

As the adoption of proof assistants increases, there is a need for efficiency in identifying, documenting, and fixing compatibility issues that arise from proof assistant evolution. We present the Coq Bug Minimizer, a tool for reproducing…

软件工程 · 计算机科学 2025-03-12 Jason Gross , Théo Zimmermann , Rajashree Agrawal , Adam Chlipala

Applying deductive verification to formally prove that a program respects its formal specification is a very complex and time-consuming task due in particular to the lack of feedback in case of proof failures. Along with a non-compliance…

软件工程 · 计算机科学 2015-08-10 Guillaume Petiot , Nikolai Kosmatov , Bernard Botella , Alain Giorgetti , Jacques Julliand

The AAA pattern, i.e. arrange, act, and assert, provides a unified structure for unit test cases, which benefits comprehension and maintenance. However, there is little understanding regarding whether and how common real-life developers…

软件工程 · 计算机科学 2025-02-04 Chenhao Wei , Lu Xiao , Tingting Yu , Sunny Wong , Abigail Clune

We propose a method that employs static and dynamic analysis for augmenting a test suite with automatically generated unit tests. The method is most suitable for test suites where the stratification of unit, integration and system tests…

软件工程 · 计算机科学 2026-05-08 Katerina Paltoglou , Vassilis E. Zafeiris

Unit testing is one of the most established quality-assurance techniques for software development. One major advantage of unit testing is the adjustable trade-off between efficiency (i.e., testing effort) and effectiveness (i.e.,…

软件工程 · 计算机科学 2022-07-27 Sebastian Ruland , Malte Lochau

Finding and fixing bugs are time-consuming activities in software development. Spectrum-based fault localization aims to identify the faulty position in source code based on the execution trace of test cases. Failing test cases and their…

软件工程 · 计算机科学 2018-07-06 Jifeng Xuan , Martin Monperrus

Defects4J has enabled numerous software testing and debugging research work since its introduction. A large part of its contribution, and the resulting popularity, lies in the clear separation and distillation of the root cause of each…

软件工程 · 计算机科学 2021-08-11 Gabin An , Juyeon Yoon , Shin Yoo

When done manually, refactoring legacy code in order to eliminate uses of deprecated APIs is an error-prone and time-consuming process. In this paper, we investigate to which degree refactorings for deprecated Java APIs can be automated,…

软件工程 · 计算机科学 2025-04-22 Cristina David , Pascal Kesseli , Daniel Kroening , Hanliang Zhang

Authentication is a critical security feature for confirming the identity of a system's users, typically implemented with help from frameworks like Spring Security. It is a complex feature which should be robustly tested at all stages of…

软件工程 · 计算机科学 2020-06-26 Danielle Gonzalez , Michael Rath , Mehdi Mirakhorli

Unit tests are widely used to check source code quality, but they can be too coarse-grained or ill-suited for testing individual program statements. We introduce inline tests to make it easier to check for faults in statements. We motivate…

软件工程 · 计算机科学 2022-09-15 Yu Liu , Pengyu Nie , Owolabi Legunsen , Milos Gligoric

Refactoring is a critical task in software maintenance, and is usually performed to enforce better design and coding practices, while coping with design defects. The Extract Method refactoring is widely used for merging duplicate code…

Bug localization is well-known to be a difficult problem in software engineering, and specifically in compiler development, where it is beneficial to reduce the input program to a minimal reproducing example; this technique is more commonly…

编程语言 · 计算机科学 2019-09-17 Daniil Stepanov , Marat Akhin , Mikhail Belyaev

In the past couple of decades, significant research efforts have been devoted to the prediction of software bugs (i.e., defects). In general, these works leverage a diverse set of metrics, tools, and techniques to predict which classes,…

软件工程 · 计算机科学 2024-08-06 Ehsan Mashhadi , Shaiful Chowdhury , Somayeh Modaberi , Hadi Hemmati , Gias Uddin

Testing is the primary approach for detecting software defects. A major challenge faced by testers lies in crafting efficient test suites, able to detect a maximum number of bugs with manageable effort. To do so, they rely on coverage…

Regression testing ensures a System Under Test (SUT) still works as expected after changes to it. The simplest approach for regression testing consists of re-running the entire test suite against the changed version of the SUT. However,…

Frequent modifications of unit test cases are inevitable due to software's continuous underlying changes in source code, design, and requirements. Since manually maintaining software test suites is tedious, timely, and costly, automating…

机器学习 · 计算机科学 2023-10-06 Mosab Rezaei , Hamed Alhoori , Mona Rahimi

Mutation testing is a means to assess the effectiveness of a test suite and its outcome is considered more meaningful than code coverage metrics. However, despite several optimizations, mutation testing requires a significant computational…

软件工程 · 计算机科学 2019-03-14 Rainer Niedermayr , Stefan Wagner

Commits often involve refactorings -- behavior-preserving code modifications aiming at software design improvements. Refactoring operations pose a challenge to code reviewers, as distinguishing them from behavior-altering changes is often…

软件工程 · 计算机科学 2025-02-26 Benjamin Ritz , Aleksandar Karakaš , Denis Helic

We present a novel approach to detect refactoring opportunities by measuring the participation of references between types in instances of patterns representing design flaws. This technique is validated using an experiment where we analyse…

软件工程 · 计算机科学 2011-03-17 Jens Dietrich , Catherine McCartin , Ewan Tempero , Syed M. Ali Shah

Program reduction is a technique for simplifying large, failure-inducing programs into minimal reproducible test cases. Language-specific tools such as CReduce achieve strong performance by leveraging deep semantic knowledge of C/C++, but…

软件工程 · 计算机科学 2026-05-20 Qiong Feng , Xiaotian Ma , Yongqiang Tian , Wei Song , Peng Liang