Methods2Test: A dataset of focal methods mapped to test cases

by   Michele Tufano, et al.

Unit testing is an essential part of the software development process, which helps to identify issues with source code in early stages of development and prevent regressions. Machine learning has emerged as viable approach to help software developers generate automated unit tests. However, generating reliable unit test cases that are semantically correct and capable of catching software bugs or unintended behavior via machine learning requires large, metadata-rich, datasets. In this paper we present Methods2Test: A dataset of focal methods mapped to test cases: a large, supervised dataset of test cases mapped to corresponding methods under test (i.e., focal methods). This dataset contains 780,944 pairs of JUnit tests and focal methods, extracted from a total of 91,385 Java open source projects hosted on GitHub with licenses permitting re-distribution. The main challenge behind the creation of the Methods2Test was to establish a reliable mapping between a test case and the relevant focal method. To this aim, we designed a set of heuristics, based on developers' best practices in software testing, which identify the likely focal method for a given test case. To facilitate further analysis, we store a rich set of metadata for each method-test pair in JSON-formatted files. Additionally, we extract textual corpus from the dataset at different context levels, which we provide both in raw and tokenized forms, in order to enable researchers to train and evaluate machine learning models for Automated Test Generation. Methods2Test is publicly available at:


page 1

page 2

page 3

page 4


Unit Test Case Generation with Transformers

Automated Unit Test Case generation has been the focus of extensive lite...

RefSearch: A Search Engine for Refactoring

Developers often refactor source code to improve its quality during soft...

FMViz: Visualizing Tests Generated by AFL at the Byte-level

Software fuzzing is a strong testing technique that has become the de fa...

TestLab: An Intelligent Automated Software Testing Framework

The prevalence of software systems has become an integral part of modern...

Neural Network Embeddings for Test Case Prioritization

In modern software engineering, Continuous Integration (CI) has become a...

ZeroIn: Characterizing the Data Distributions of Commits in Software Repositories

Modern software development is based on a series of rapid incremental ch...

Intelligent UNIT LEVEL TEST Generator for Enhanced Software Quality

Unit level test has been widely recognized as an important approach to i...

Please sign up or login with your details

Forgot password? Click here to reset