https://github.com/engineeringsoftware/fine-starts
https://github.com/engineeringsoftware/fine-starts
Last synced: 18 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/engineeringsoftware/fine-starts
- Owner: EngineeringSoftware
- License: other
- Created: 2023-09-11T21:33:59.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-09-11T21:35:33.000Z (over 2 years ago)
- Last Synced: 2025-01-19T07:26:20.873Z (12 months ago)
- Language: Java
- Size: 494 KB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.TXT
Awesome Lists containing this project
README
# STARTS (*STA*tic *R*egression *T*est *S*election) Overview
[](https://travis-ci.org/TestingResearchIllinois/starts)
[](https://ci.appveyor.com/project/august782/starts)
STARTS is a static class-level regression test selection tool
for Maven-based Java programs.
## Prerequisites
1. Java 1.8
2. Maven 3.2.5 and above
3. Maven Surefire 2.14 and above
4. Operating System: Linux or OSX
## Integrating STARTS Plugin from Maven Central
Change the pom.xml to add the configuration for the STARTS plugin:
```xml
edu.illinois
starts-maven-plugin
1.3
```
## Building STARTS from source
1. `git clone https://github.com/TestingResearchIllinois/starts`
2. `cd starts`
3. `mvn install`
## Using the STARTS Maven Plugin
### Available Options
1. To see all the goals that STARTS provides, run `mvn starts:help`
2. To see the details for any of the goals, run `mvn starts:help -Ddetail=true -Dgoal=`;
replace `` with the goal of interest.
### Major Functionality
1. To see the **types** that changed since the last time STARTS was run:
`mvn starts:diff`
2. To see the **types** that may be impacted by changes since the last
time STARTS was run: `mvn starts:impacted`
3. To see the **tests** that are affected by the most recent changes:
`mvn starts:select`
4. To perform RTS using STARTS (i.e., select tests and run the
selected tests): `mvn starts:starts`
5. To remove all artifacts that STARTS stores between versions
(i.e. in the `.starts` directories): `mvn starts:clean`
__NOTE:__ By default, commands (1) - (3) *will not* update the
checksums of files in the latest version, while the command in (4)
*will* update the checksums of the files. Each command has a
`update**Checksums` option that can be used to change the default
behavior. For example, to update the checksums while checking the
diff, run `mvn starts:diff -DupdateDiffChecksums=true`.
## Papers on STARTS
Below is a list of research papers that describe some aspects of
STARTS:
* [STARTS: STAtic Regression Test Selection](http://mir.cs.illinois.edu/legunsen/pubs/LegunsenETALSTARTSDemo.pdf)
```
Owolabi Legunsen, August Shi, Darko Marinov
32nd IEEE/ACM International Conference On Automated Software Engineering, Tool Demonstrations Track
(ASE Demo 2017), pages 949-954, Urbana-Champaign, IL, October-November 2017
```
* [An Extensive Study of Static Regression Test Selection in Modern Software Evolution](http://mir.cs.illinois.edu/legunsen/pubs/LegunsenETAL16StaticRTSStudy.pdf)
```
Owolabi Legunsen, Farah Hariri, August Shi, Yafeng Lu, Lingming Zhang, Darko Marinov
24th ACM SIGSOFT International Symposium on the Foundations of Software Engineering
(FSE 2016), pages 583-594, Seattle, WA, November 2016
```