Software version control systems play a crucial role in modern software development: they allow developers to track and control changes to the large numbers of files that make up modern software systems. Given that version control systems have been in existence for several decades now, one would have thought that the theory behind their operation would be well-developed, but this is not so. A quote from a recent talk on DARCS, an innovative modern version control system, given by Ganesh Sittampalam to the London Haskell Users' Group:
Patch Theory: This is the theory underlying DARCS or, rather, what we would like the theory underlying DARCS to be but we cannot quite figure out what the theory should be.
We would like to know a consistent set of rules that actually guarantee the behaviour that we want from DARCS.
The formalization of DARCS Patch Theory would appear to be a worthwhile little project for any passing mathematician.