Skip to content

STARTS - A tool for STAtic Regression Test Selection

License

Notifications You must be signed in to change notification settings

cptwonton/starts

This branch is 1 commit behind TestingResearchIllinois/starts:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

487a800 · Jan 22, 2023
Oct 1, 2021
Mar 28, 2021
Jan 22, 2023
Jan 22, 2023
Jun 17, 2017
Jul 1, 2017
Jan 22, 2023
Jul 1, 2017
May 31, 2021
Apr 15, 2019
Jan 22, 2023

Repository files navigation

STARTS (STAtic Regression Test Selection) Overview

Build status Build Status Coverage

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:

<build>
  <plugins>
    <plugin>
      <groupId>edu.illinois</groupId>
      <artifactId>starts-maven-plugin</artifactId>
      <version>1.4</version>
    </plugin>
  </plugins>
</build>

Building STARTS from source

Build from source to use the latest development version, which supports Java 8-15, on Linux, OSX, or Windows.

  1. git clone https://github.com/TestingResearchIllinois/starts
  2. cd starts
  3. mvn install

Then, change the pom.xml to add the configuration for the latest development version of the STARTS plugin:

<build>
  <plugins>
    <plugin>
      <groupId>edu.illinois</groupId>
      <artifactId>starts-maven-plugin</artifactId>
      <version>1.5-SNAPSHOT</version>
    </plugin>
  </plugins>
</build>

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=<goal>; replace <goal> 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:

About

STARTS - A tool for STAtic Regression Test Selection

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 98.6%
  • Groovy 1.4%