/cira-eval

Evaluation of the test generation performance of the CiRA tool

Primary LanguageJupyter NotebookMIT LicenseMIT

CiRA Evaluation

GitHub DOI

Summary of the Artifact

This repository contains the code to evaluate the capability of the CiRA tool to automatically generate test case descriptions from causal natural language requirements. To this end, the requirements of the Corona Warn App were manually classified as either causal or non-causal, and for all causal sentences a set of test cases were generated. The analysis in this repository compares the manually generated test cases with the output of CiRA.

Structure of the Artifact

This repository contains the following files:

  • data: data necessary for the evaluation
    • cwa-acceptance-criteria: list of sentences constituting the acceptance criteria of the Corona Warn App, manually classified as either causal or non-causal
    • ground-truth: a json files containing a manually generated set of test cases following the CiRA test suite syntax for every causal sentence
  • src\evaluation.ipynb: Jupyter notebook for performing the calculation
  • requirements.txt: required Python libraries for executing the evaluation

How to reproduce

In order to reproduce the evaluation, follow the steps below:

  1. Make sure both Python 3.10 and pip are available on your system.
  2. Install the requirements by running pip install -r requirements.txt.
  3. Make sure the CiRA tool is available on your system.
    1. Follow the installation instructions to set up the CiRA tool on your system.
    2. Ensure that the REST API, which the CiRA tool provides, is currently running by pinging http://localhost:8000/api/health, which should return a json object containing at least a version string in response.
  4. Execute the evaluation notebook.

License

Copyright © 2023 Julian Frattini

This work (source code) is licensed under MIT License.