Game-theoretic analysis of development practices: Challenges and opportunities

•Survey of game theory in software engineering.•First to apply game abstraction to produce tractable software process models.•Application of game abstraction to diagnose and remove technical debt. Developers continuously invent new practices, usually grounded in hard-won experience, not theory. Game...

Full description

Saved in:
Bibliographic Details
Published inThe Journal of systems and software Vol. 159; p. 110424
Main Authors Gavidia-Calderon, Carlos, Sarro, Federica, Harman, Mark, Barr, Earl T.
Format Journal Article
LanguageEnglish
Published Elsevier Inc 01.01.2020
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:•Survey of game theory in software engineering.•First to apply game abstraction to produce tractable software process models.•Application of game abstraction to diagnose and remove technical debt. 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.
ISSN:0164-1212
1873-1228
DOI:10.1016/j.jss.2019.110424