Sign up to save tools and stay up to date with the latest in AI
bg
bg
1

We created the first open-source implementation of Meta’s TestGen–LLM | CodiumAI

May 21, 2024 - codium.ai
The article discusses the implementation of TestGen-LLM, a tool introduced by Meta researchers for automated unit test improvement, into the open-source Cover-Agent. The tool uses large language models (LLMs) to generate tests and increase code coverage, filtering out tests that don't build, run, or increase coverage. However, the authors encountered challenges with languages like Python that require significant whitespace, and with complex code that required multiple iterations. They also noted the need for manual review of each test and the inability to add library imports when extending an existing test suite.

Despite these challenges, the authors believe that AI can help developers generate test candidates and increase code coverage more efficiently. They envision Cover-Agent running automatically for every pre/post-pull request, suggesting validated regression test enhancements. They invite collaboration on the open-source Cover-Agent repo on GitHub and are seeking a good benchmark for tools like this for further development and research.

Key takeaways:

  • Meta researchers have developed a tool called TestGen-LLM, an automated approach to increasing test coverage in software engineering. However, the code for TestGen-LLM was not released.
  • An open-source version of TestGen-LLM, called Cover-Agent, has been implemented and released. It generates, validates, and proposes as many tests as possible until achieving the coverage requirement, without requiring manual intervention throughout the process.
  • While implementing and reviewing TestGen-LLM, several challenges were encountered, including issues with languages that use significant whitespace, the need for additional context for unit test generation, and the inability to add library imports when extending an existing test suite.
  • The vision for Cover-Agent is to run automatically for every pre/post-pull request and automatically suggest regression test enhancements that have been validated to work and increase code coverage.
View Full Article

Comments (0)

Be the first to comment!