SENov 12, 2018

A Fine-Grained Approach for Automated Conversion of JUnit Assertions to English

arXiv:1811.05005v15 citations
Originality Incremental advance
AI Analysis

This work addresses a specific bottleneck in software testing tools for developers, though it is incremental as it extends existing methods to cover more assertion types.

The paper tackled the problem of incomplete JUnit assertion conversion in test summarization by developing a process to handle 45 unique assertions, including 37 previously-unhandled variations, resulting in the AssertConvert tool that generates accurate English conversions for improved code analysis.

Converting source or unit test code to English has been shown to improve the maintainability, understandability, and analysis of software and tests. Code summarizers identify important statements in the source/tests and convert them to easily understood English sentences using static analysis and NLP techniques. However, current test summarization approaches handle only a subset of the variation and customization allowed in the JUnit assert API (a critical component of test cases) which may affect the accuracy of conversions. In this paper, we present our work towards improving JUnit test summarization with a detailed process for converting a total of 45 unique JUnit assertions to English, including 37 previously-unhandled variations of the assertThat method. This process has also been implemented and released as the AssertConvert tool. Initial evaluations have shown that this tool generates English conversions that accurately represent a wide variety of assertion statements which could be used for code summarization or other NLP analyses.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes