annotest

A tool to automatically generating bug-finding inputs for neural network program testing.

https://github.com/mohrez86/annotest

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 14 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.9%) to scientific vocabulary

Keywords

debugging neural-networks python test-generation testing-tool
Last synced: 6 months ago · JSON representation ·

Repository

A tool to automatically generating bug-finding inputs for neural network program testing.

Basic Info
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 2
Topics
debugging neural-networks python test-generation testing-tool
Created over 2 years ago · Last pushed 12 months ago
Metadata Files
Readme Changelog License Citation

README.md

aNNoTest

PyPI version GitHub Downloads Docs Research Open Source

aNNoTest is a tool (and an approach) to automatically generate test inputs for neural-network programs written in Python. The paper An annotation-based approach for finding bugs in neural network programs by Mohammad Rezaalipour and Carlo A. Furia presents the aNNoTest approach and its experimental evaluation; this repository describes how to use the tool implementing the approach.

Installation

aNNoTest is on PyPI, so you can install it using pip:

bash pip install annotest

To install the latest (unreleased) version, use the following command:

bash pip install git+https://github.com/atom-sw/annotest

We mainly tested aNNoTest with Python 3.6, but it should also work on later Python versions.

Using aNNoTest

Annotations

aNNoTest relies on annotations to generate test inputs. Another repository shows several examples of Python projects annotated with aNNoTest with different degrees of detail.

Running aNNoTest

Once a project is annotated, run aNNoTest by simply calling annotest in the project's root directory $PROJECT_PATH:

bash cd $PROJECT_PATH annotest

Alternatively, you can supply the project path directly on the command line:

```bash

in any directory

annotest $PROJECT_PATH ```

Publications on aNNoTest

  • Mohammad Rezaalipour and Carlo A. Furia. aNNoTest: An Annotation-based Test Generation Tool for Neural Network Programs. In Proceedings of the 39th IEEE International Conference on Software Maintenance and Evolution (ICSME — tool demo track). Pgg. 574–579, IEEE Computer Society, October 2023. https://doi.org/10.1109/ICSME58846.2023.00075

@InProceedings{RF-ICSME23-tool-annotest, author = {Mohammad Rezaalipour and Carlo A. Furia}, title = {{aNNoTest}: An Annotation-based Test Generation Tool for Neural Network Programs}, booktitle = {Proceedings of the 39th IEEE International Conference on Software Maintenance and Evolution (ICSME)}, pages = {574--579}, year = {2023}, month = {October}, doi = {https://doi.org/10.1109/ICSME58846.2023.00075}, }

  • Mohammad Rezaalipour and Carlo A. Furia. An Annotation-based Approach for Finding Bugs in Neural Network Programs. Journal of Systems and Software, 201:111669. Elsevier, July 2023. https://doi.org/10.1016/j.jss.2023.111669

@article{aNNoTest-JSS, title = {An annotation-based approach for finding bugs in neural network programs}, journal = {Journal of Systems and Software}, volume = {201}, pages = {111669}, year = {2023}, issn = {0164-1212}, doi = {https://doi.org/10.1016/j.jss.2023.111669}, author = {Mohammad Rezaalipour and Carlo A. Furia} }

Mirrors

This repository is a public mirror of (part of) aNNoTest's private development repository. There are two public mirrors, whose content is identical:

  • https://github.com/atom-sw/annotest
  • https://github.com/mohrez86/annotest

Owner

  • Name: Mohammad (Moe) Rezaalipour
  • Login: mohrez86
  • Kind: user
  • Location: Lugano, Switzerland
  • Company: Software Institute (USI)

http://www.linkedin.com/in/m-rezaalipour

Citation (CITATION.cff)

@InProceedings{RF-ICSME23-tool-annotest,
  author = {Mohammad Rezaalipour and Carlo A. Furia},
  title = {{aNNoTest}: An Annotation-based Test Generation Tool for Neural Network Programs},
  booktitle = {Proceedings of the 39th IEEE International Conference on Software Maintenance and Evolution (ICSME)},
  pages = {574--579},
  year = {2023},
  month = {October},
  doi = {https://doi.org/10.1109/ICSME58846.2023.00075},
}

@article{aNNoTest-JSS,
   title = {An annotation-based approach for finding bugs in neural network programs},
   journal = {Journal of Systems and Software},
   volume = {201},
   pages = {111669},
   year = {2023},
   issn = {0164-1212},
   doi = {https://doi.org/10.1016/j.jss.2023.111669},
   author = {Mohammad Rezaalipour and Carlo A. Furia}
}

GitHub Events

Total
  • Push event: 3
Last Year
  • Push event: 3

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 1
proxy.golang.org: github.com/mohrez86/annotest
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.7%
Average: 5.9%
Dependent repos count: 6.1%
Last synced: 6 months ago