Skip to content

Commit

Permalink
Merge pull request #11 from ThunderKey/readme-instructions-for-sbft
Browse files Browse the repository at this point in the history
Readme instructions for sbft
  • Loading branch information
ChristianBirchler committed Sep 27, 2023
2 parents 85357bc + 78f1940 commit 2b121dd
Show file tree
Hide file tree
Showing 2 changed files with 107 additions and 1 deletion.
35 changes: 35 additions & 0 deletions .yamllint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
yaml-files:
- '*.yaml'
- '*.yml'
- '.yamllint'

rules:
anchors: enable
braces: enable
brackets: enable
colons: enable
commas: enable
comments:
level: warning
comments-indentation:
level: warning
document-end: disable
document-start:
level: warning
empty-lines: enable
empty-values: disable
float-values: disable
hyphens: enable
indentation: enable
key-duplicates: enable
key-ordering: disable
line-length: enable
new-line-at-end-of-file: enable
new-lines:
type: platform
octal-values: disable
quoted-strings: disable
trailing-spaces: enable
truthy:
level: warning
73 changes: 72 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,57 @@
# Python Tool Competition Runner
# SBFT Python Tool Competition Runner

![GitHub Actions](https://github.com/ThunderKey/python-tool-competition-2024/actions/workflows/check.yaml/badge.svg)

The Workshop on [The 17th International Search-Based and Fuzz Testing (SBFT)](https://sbft24.github.io/)
offers a Python tool competition on automatic test generation for the Python programming
language.

## Important SBFT'24 Dates

- Paper Submission: 9. November 2023
- Tool Submission: 1. December 2023
- Competition report: 16. January 2024
- Notification to authors: 21. December 2023
- Camera ready due: 25. January 2024
- Author's registration due: TBA
- Workshop: TBA April 2024

## Submission

Submit your test generator by sending an email all organizers:

- Nicolas Erni (ZHAW) - <gann@zhaw.ch>
- Christian Birchler (ZHAW) - <birc@zhaw.ch>
- Pouria Derakhshanfar (JetBrains) - <pouria.derakhshanfar@jetbrains.com>
- Stephan Lukasczyk (University of Passau) - <stephan.lukasczyk@uni-passau.de>
- Sebastiano Panichella (ZHAW) - <panc@zhaw.ch>

Your email should include:

- A link to the repository
- If the repository is private then invite the competition organizers to the repository
- The name of the version tag
- The commit hash of the version tag

## Overview

In general, manual testing of software systems is costly.
Automatic test generation for Python lowers barriers to
test and ensure quality for Python software.
Therefore, the SBFT initiates a competition on Python test generation,
which enhances research and implementation for novel test generators for Python.
This repository provides the necessary facilities and guidelines
for participating in the SBFT Python tool competition.

## Test Generator Implementation

The platform provides an API for writing test cases.
You simply need to generate a `string` that represent the body of a valid Python
testing module that tests a given target with `pytest`.
Furthermore, your test code needs to be compatible with `cosmic-ray`
so that your test suite can be assessed through mutation scores.
Below you see how to use the platform to implement a generator.

## Usage

### Installation
Expand Down Expand Up @@ -46,6 +96,7 @@ For examples see:

- <https://github.com/ThunderKey/python-tool-competition-2024-klara>
- <https://github.com/ThunderKey/python-tool-competition-2024-hypothesis-ghostwriter>
- <https://github.com/ThunderKey/python-tool-competition-2024-pynguin>

### Running inside of the Project

Expand All @@ -67,6 +118,26 @@ information regarding the coverage achieved by the tests generated by your tool.
It will also save these data as `XML` files in the `<generator name>/coverages`
directory.

## License

```{text}
CLI tool for developing python test generators
Copyright (C) 2023 Nicolas Erni
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
```

## Improving the Competition Runner

- Installation: `poetry install`
Expand Down

0 comments on commit 2b121dd

Please sign in to comment.