README

Regression Test Selection (RTS)

Regression Test Selection (RTS) is a technique to intellegently select tests to run, without spending too much resources on testing, but still detecting bad code changes. Conceptually, an RTS algorithm for CQ accepts changed files as input and returns tests to run as output.

Evaluation

RTS algorithm evaluation is a process of measuring the candidate algorithm's safety and efficiency. It is mandatory before deploying the candidate algorithm into production. Read more in doc/eval.md.

Expand ▾ Collapse ▴

Directories

Path Synopsis
cmd
rts-chromium
Command rts-chromium is Chromium-specific part of the generic RTS framework.
Command rts-chromium is Chromium-specific part of the generic RTS framework.
Package filegraph implements a directed weighted graph of files, where the weight of edge (x, y), called distance, represents how much y is relevant to x.
Package filegraph implements a directed weighted graph of files, where the weight of edge (x, y), called distance, represents how much y is relevant to x.
cli
Package cli implements filegraph command.
Package cli implements filegraph command.
git
Package git implements derivation of a file graph from git log.
Package git implements derivation of a file graph from git log.
presubmit
eval
Package eval implements a framework for RTS algorithm evaluation.
Package eval implements a framework for RTS algorithm evaluation.
eval/history
Package history implements serialization and deserilization of historical records used for RTS evaluation.
Package history implements serialization and deserilization of historical records used for RTS evaluation.