Intelligent Collaboration Tools Lab

Automatic Generation of Unit Tests

In this project, we aim to assess some of the automated test generation tools known in the academic world. We’ll use them to generate tests for JetBrains products and use the results to identify their pros and cons in real-world development environments.

Software testing is an essential part of software development – and an expensive one. That’s why many researchers and developers in academia and industry study various techniques to automate testing tasks. One such task is writing tests for different levels (e.g., unit, integration, and system), which can be quite time-consuming and labor-intensive. Many techniques are proposed for automating test generation at different levels that can generate tests to both achieve high structural coverage and detect errors.

Despite these considerable achievements, such test generation tools are still unknown to many developers and companies. This is because most of them are either closed-source or implemented only for research purposes (verifying that some known bugs could indeed be detected by the tools).

We aim to assess the efficacy of these tools by running them on real-world industrial data. We also want to get insight into the next steps that could potentially improve these tools and make them ready for industry use.

Participants

Vladimir Kovalenko
Pouria Derakhshanfar
Arkadii Sapozhnikov