Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Continuous Code Quality: Are We (Really) Doing That?

Carmine Vassallo
September 05, 2018

Continuous Code Quality: Are We (Really) Doing That?

Our study on Continuous Code Quality in Continuous Integration presented at the IEEE/ACM International Conference on Automated Software Engineering (ASE '18) in Montpellier, France. Preprint of the corresponding paper available at http://doi.org/10.5281/zenodo.1341036

Carmine Vassallo

September 05, 2018
Tweet

More Decks by Carmine Vassallo

Other Decks in Research

Transcript

  1. Continuous Code Quality: Are We (Really) Doing That? Carmine Vassallo,

    Fabio Palomba, Alberto Bacchelli, and Harald C. Gall. @ccvassallo IEEE/ACM International Conference on Automated Software Engineering, Montpellier (France), 2018
  2. 10 Commit Repository Build Check Build Server CCQ Service 119

    Java projects 148,734 builds (5 years) CCQ Data Collection
  3. The quality of most builds is not inspected only 11%

    of the builds have been checked Projects with longer change history exhibit lower rate 12 Code Quality Checking Rate Fraction of builds that have been checked
  4. New quality inspections are performed after several builds On average

    1 check every 18 builds Developers tend to perform code quality check at the end of a sprint 13 Elapsed Frame/Time between Checks Frequency of the quality checks
  5. A low percentage of branches are scheduled for quality check

    Overall, only 36% of branches are checked 14 Checked Branches Percentage of branches containing at least one build subject to a code quality check
  6. 15 Continuous Code Quality: Are We (Really) Doing That? Carmine

    Vassallo, Fabio Palomba, Alberto Bacchelli, and Harald C. Gall. @ccvassallo [email protected] CCQ Dataset Code quality is not continuously checked Code Quality Inspection in CI Future Work Quality outcome of the current CCQ practice Code quality recommendation in CI Tendency to avoid checking feature branches Key scenarios in Continuous Code Quality Mature projects are less likely to apply CCQ X Commit Repository Build Check Build Server CCQ Service CCQ Data Collection