Skip to content

v1.0.0-beta

Pre-release
Pre-release
Compare
Choose a tag to compare
@emarteca emarteca released this 20 Jul 19:01
· 2 commits to main since this release

Implemented all planned features on this test generator.
This corresponds to the following list of additional features on top of the original test generator presented at ICSE 2022:

  • merging of API discovery mode and test generation mode, so the test execution feedback is parsed to learn more signatures and valid argument values
  • addition of support for generation of chained methods, both to learn the function properties of the Object return values of other API calls, and to generate signatures and test calls to them (notably: now we generate promise chains to use the results of asynchronous functions)
  • support for generation of constructor calls
  • support for libraries that need to be invoked before being used
  • addition of option to inform the test generator of API calls signatures/valid argument values via mined data (--mined-call-data)
  • addition of back-support for older versions of the test generator (via --test-gen-mode argument, that enables/disables the various relevant features) -- this is to allow experiments comparing the effectiveness of different modes
  • tracking and use of the types of primitive arguments in signature discovery
  • inclusion of evaluation scripts for coverage and regression testing experiments (relevant for those wishing to replicate the experiments in the associated publication)
  • implementation of abstract representation of objects via access paths, both in the mined data and in the API discovery (to be able to amalgamate discovery results of non-root function call signatures, i.e. functions that can't be represented as just the name of the library's property and that can have different variable name representations depending on the test they are generated in)
  • various minor bug fixes

This needs more stress-testing before it can be a full release.

Note: This corresponds to the test generator described in my dissertation.