Game-theoretic Analysis of Development Practices: Challenges and Opportunities
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 single code 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.
Tue 22 Sep Times are displayed in time zone: (UTC) Coordinated Universal Time change
|08:00 - 08:20|
Bruce CollieUniversity of Edinburgh, Philip GinsbachGitHub Software UK, Jackson WoodruffUniversity of Edinburgh, Ajitha RajanUniversity of Edinburgh, Michael O'BoyleUniversity of EdinburghPre-print Media Attached
|08:20 - 08:40|
|08:40 - 09:00|
Carlos Gavidia-CalderonUniversity College London, Federica SarroUniversity College London, UK, Mark HarmanUniversity College London, UK, Earl T. BarrUniversity College London, UKLink to publication DOI Pre-print Media Attached