EngineeringSoftware / teco

TeCo: an ML+Execution model for test completion
https://arxiv.org/abs/2302.10166
MIT License
27 stars 4 forks source link

Assert generation quick example #1

Open jose opened 1 year ago

jose commented 1 year ago

Hi @pengyunie,

Thanks for sharing this repository and congratulations for your ICSE'23 paper.

Any chance you could provide a quick example on how to generate assert statements for an assertless test case using TECO? I'm not interesting in training, fine-tuning, or evaluating TECO or any model as you did in the paper. I would like to just use TECO from a developer / end-user point of view. Any source code on how to instantiate and use TECO's model would be much appreciated.

For instance, assuming I have the following method under test in the Foo class

public int sum(int a, int b) {
    return a + b;
}

and the following assertless test case

@Test
public void testSumOfNegativeValue() {
    Foo foo = new Foo();
    int sum = foo.sum(3, -2);
    // Missing assert or perhaps any other code
}

how would one use TECO to generate the missing code, i.e., any missing assert statement?

Thanks in advance.

-- Best, Jose

jose commented 1 year ago

Kinda related, @pengyunie, could you please share the full TeCo model that one might get if he/she manages to follow all the steps described in the README.md file? Unfortunately, not all of us have access to 4 GTX 1080Ti GPUs and training the model on a CPU would take ages.

neelofarhassan commented 4 months ago

Hi, The trained model is available at https://huggingface.co/EngineeringSoftware/teco