Gavidia-Calderon, C;
Sarro, F;
Harman, M;
Barr, ET;
(2020)
Game-theoretic analysis of development practices: Challenges and opportunities.
Journal of Systems and Software
, 159
, Article 110424. 10.1016/j.jss.2019.110424.
Preview |
Text
gt-process-improvement.pdf - Accepted Version Download (476kB) | Preview |
Abstract
Developers continuously invent new practices, usually grounded in hard-won experience, not theory. Game theory studies cooperation and conflict; its use will speed the development of effective processes. A survey of game theory in software engineering finds highly idealised models that are rarely based on process data. This is because software processes are hard to analyse using traditional game theory since they generate huge game models. We are the first to show how to use game abstractions, developed in artificial intelligence, to produce tractable game-theoretic models of software practices. We present Game-Theoretic Process Improvement (GTPI), built on top of empirical game-theoretic analysis. Some teams fall into the habit of preferring “quick-and-dirty” code to slow-to-write, careful code, incurring technical debt. We showcase GTPI’s ability to diagnose and improve such a development process. Using GTPI, we discover a lightweight intervention that incentivises developers to write careful code: add a singlecode reviewer who needs to catch only 25% of kludges. This 25% accuracy is key; it means that a reviewer does not need to examine each commit in depth, making this process intervention cost-effective.
Type: | Article |
---|---|
Title: | Game-theoretic analysis of development practices: Challenges and opportunities |
Open access status: | An open access version is available from UCL Discovery |
DOI: | 10.1016/j.jss.2019.110424 |
Publisher version: | https://doi.org/10.1016/j.jss.2019.110424 |
Language: | English |
Additional information: | This version is the author accepted manuscript. For information on re-use, please refer to the publisher’s terms and conditions. |
Keywords: | Game theory, Empirical analysis, Technical debt, Software engineering practices |
UCL classification: | UCL UCL > Provost and Vice Provost Offices > UCL BEAMS UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science > Dept of Computer Science |
URI: | https://discovery.ucl.ac.uk/id/eprint/10084762 |
Archive Staff Only
View Item |