https://github.com/atom-sw/annotest
A tool to automatically generating bug-finding inputs for neural network program testing.
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.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: 5 months ago
·
JSON representation
Repository
A tool to automatically generating bug-finding inputs for neural network program testing.
Basic Info
- Host: GitHub
- Owner: atom-sw
- License: gpl-3.0
- Language: Python
- Default Branch: main
- Homepage: https://annotest.readthedocs.io
- Size: 64.5 KB
Statistics
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
debugging
neural-networks
python
test-generation
testing-tool
Created over 2 years ago
· Last pushed 12 months ago
https://github.com/atom-sw/annotest/blob/main/
# aNNoTest
[](https://badge.fury.io/py/annotest)

[](https://pepy.tech/project/annotest)
[](https://annotest.readthedocs.io/en/latest/)


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](https://doi.org/10.1016/j.jss.2023.111669) 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](https://pypi.org/project/annotest/),
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](https://github.com/atom-sw/annotest-subjects)
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. 574579, IEEE Computer Society, October 2023.
[https://doi.org/10.1109/ICSME58846.2023.00075](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](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: ATOM software
- Login: atom-sw
- Kind: organization
- Location: Switzerland
- Website: https://bugcounting.net
- Repositories: 8
- Profile: https://github.com/atom-sw
Automation in Software and Verification Technology Research Group at USI
GitHub Events
Total
- Push event: 2
- Create event: 1
Last Year
- Push event: 2
- Create event: 1
Packages
- Total packages: 1
-
Total downloads:
- pypi 68 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 2
- Total maintainers: 1
pypi.org: annotest
A tool to automatically generating bug-finding inputs for neural network program testing.
- Homepage: https://github.com/atom-sw/annotest
- Documentation: https://annotest.readthedocs.io/
- License: gpl-3.0
-
Latest release: 0.1.1
published 12 months ago
Rankings
Dependent packages count: 7.3%
Average: 29.6%
Forks count: 30.4%
Stargazers count: 39.3%
Dependent repos count: 41.5%
Maintainers (1)
Last synced:
6 months ago