What helped, and what did not? An Evaluation of the Strategies to Improve Continuous Integration

August 20, 2021

TravisTorrentにある100件のプロジェクトで10種類のCIのテクニックを定量評価した。 テクニックは、不要なビルドやテストをスキップするか、実行順序を優先づけるものかに分かれる。 前者は計算資源の消費を減らすこと、後者は失敗するケースを早めに実行することを目的にする。 もっとも成功するテストやビルドをスキップできたテクニックは、コードに変更のないケースをスキップするものだったが、同時に失敗するテストを多く見落とした。 実行順序を優先付ける手法で最も性能のよかったテクニックは、Thomasらのもので、シグネチャやコメントで学習したトピックモデルを使い直前に実行したテストと違うトピックのテストを実行する。

論文をこちらからダウンロードできます。