Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

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.


  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:


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
  2. cd starts
  3. mvn install

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


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:


STARTS - A tool for STAtic Regression Test Selection







No packages published