CB
C.E. Brandt
11 records found
1
Code differencing allows understanding changes between different versions of software, especially when using Abstract Syntax Trees (ASTs) to structurally represent code. The Gumtree algorithm is the current state-of-the-art algorithm for AST differencing, however its main drawbac
...
Structural code differencing algorithms are used in software engineering tasks such as version control, code review, and change classification. While the Gumtree algorithm is a popular choice due to its performance and accuracy, it is inherently unstable: the output of a diff may
...
Scalable Structural Code Diffs
Comparing Gumtree Greedy and Gumtree Simple adapted for scaling
As software evolves, understanding the differences between versions of code becomes more important. While text-based differencing is practical and widespread, it does not capture the structure of code. AST-based differencing solves this by using the structure of the code. Gumtree
...
Accelerating AST-Based Code Differencing
Optimizing ChangeDistiller’s Bottom-Up Matching Strategy with HyperAST
Traditional AST-based code differencing tools like ChangeDistiller struggle to scale on large codebases. HyperAST is a framework that models versioned code as a Directed Acyclic Graph (DAG) of Abstract Syntax Trees (ASTs), with deduplication of unchanged nodes and precomputed met
...
Version control systems rely on code differencing algorithms to track changes and support key development tasks such as merging, code search, and code reviews. Traditional differencing techniques operate on plain-text representations of source code, which sometimes fail to convey
...
In today’s rapidly evolving software landscape, where continuous integration and continuous delivery are paramount, the presence of flaky tests poses a significant obstacle. These tests, exhibiting unpredictable pass/fail behavior, hinder development progress, waste valuable reso
...
Writing unit tests is a crucial task in the software development lifecycle, ensuring the correctness of the software developed. Due to its time-consuming and laborious nature, it is, however, often neglected by software engineers. Numerous automatic test generation tools have bee
...
Unit testing is crucial for any software project. Writing these tests manually, however, can be quite cumbersome. To tackle this, automated testing has been growing in recent times. Unfortunately, most automated testing tools are a challenge to use. The TestCube Project intends t
...
Developer-Friendly Test Cases
Detection and Removalof Unnecessary Casts
Test-cube is a tool that focuses on developer-friendly test amplification. Test amplification is a technique to improve a test suite by generating new tests based on manually written ones. Currently, these generated tests contain much redundant casting. Our study aimed to improve
...
TestCube amplifies existing unit tests and creates a new test suite with additional coverage for the source code. The names automatically generated by TestCube do not give any information on the behaviour or the coverage improvement of the amplified test case. In this paper, we p
...
Amplified test cases created by DSpot and TestCube often contain unnecessary statements that impact the readability of the tests in question. As a part of the effort to make these amplified test cases more developer-friendly, we investigate (dynamic) slicing, taint analysis and s
...