Search-Based Scheduling of Experiments in Continuous Deployment
Paper in proceeding, 2018

Continuous experimentation involves practices for testing new functionality on a small fraction of the user base in production environments. Running multiple experiments in parallel requires handling user assignments (i.e., which users are part of which experiments) carefully as experiments might overlap and influence each other. Furthermore, experiments are prone to change, get canceled, or are adjusted and restarted, and new ones are added regularly. We formulate this as an optimization problem, fostering the parallel execution of experiments and making sure that enough data is collected for every experiment avoiding overlapping experiments. We propose a genetic algorithm that is capable of (re-)scheduling experiments and compare with other search-based approaches (random sampling, local search, and simulated annealing). Our evaluation shows that our genetic implementation outperforms the other approaches by up to 19% regarding the fitness of the solutions identified and up to a factor three in execution time in our evaluation scenarios.

Release engineering

Scheduling

Continuous experimentation

Search based software engineering

Author

Gerald Schermann

University of Zürich

Philipp Leitner

Chalmers, Computer Science and Engineering (Chalmers), Software Engineering (Chalmers)

2018 IEEE International Conference on Software Maintenance and Evolution (ICSME)

485-495 8530054
978-153867870-1 (ISBN)

2018 IEEE International Conference on Software Maintenance and Evolution, ICSME 2018
Madrid, Japan,

Areas of Advance

Information and Communication Technology

Subject Categories

Software Engineering

Computer Science

DOI

10.1109/ICSME.2018.00059

More information

Latest update

1/18/2019