University of Cambridge > > Microsoft Research Cambridge, public talks > A Population Approach to System Design

A Population Approach to System Design

Add to your list(s) Download to your calendar using vCal

If you have a question about this talk, please contact Microsoft Research Cambridge Talks Admins.

This talk will present a radically new approach to a core concept in computer science, the software class. Traditionally, programs are made by programmers and then other people—users—just use them. Established methods for software definition, design and analysis are based on an exact match between the class as defined by the original program code, and the instances of that program that users have. These methods are stretched to breaking point by the current trend toward user-driven adaptation, via technologies such as plug-ins (a.k.a. extensions, add-ins and add-ons) and in-app purchasing. Adding and removing software modules without technical support or supervision is becoming the norm for everyday applications such as web browsers, image editors and email tools, e.g. Firefox, Photoshop and Outlook. Firefox’s developer blog reported in 2009 that 1/3 of its users (est. 350 million) had extended it with at least one module, chosen from several thousands of modules. A practical issue, therefore, is that one would be hard put to define a single software structure that accurately describes what a program like Firefox is. Use is similarly hard to pin down, as individuals reflect on how they and others use their systems—appropriating systems to fit with their own uses and contexts, and sharing their innovations with others. In such ways, communities of users and developers are continually changing applications’ modules, module configurations and patterns of use. As a result, analysts and evaluators are restricted to studying deployments simple enough to avoid the very features that characterise computation ‘in the wild’. Developers are confined to work on small parts of a larger system they can’t represent or understand. Users are largely left to fend for themselves, with community knowledge to draw from but little in terms of tools and infrastructures to help avoid the ‘plug-in hell’ of incompatible dependencies, functions and uses.

A new five-year £4M EPSRC -funded project is just starting up, led by Glasgow with UCL as academic partner and Edinburgh Festivals, Rangers FC (and other professional football clubs) and Glasgow Museums as collaborators. It will advance a ‘population approach’ in which a program is seen as a varied population of software structures, evolving in the real world of use, rather than there being a single structural definition—a class—that is replicated uniformly worldwide. The key idea is a new treatment of class as dynamic, stochastic and coupled with programs in use. Rather as biologists analyse DNA and other observed features to define biological species, we will statistically abstract over patterns of consistency and family resemblance among such software populations. Our approach turns deployment scale, and user–driven variety and dynamism, from problems into resources for new design and analysis methods, synergistically set within a novel form of socio-technical design process. We will develop new tools and infrastructure that use this representation to feed back into the activity of users, evaluators and programmers. We will use real world deployments of mobile and ‘ubiquitous’ applications, involving tens of thousands of users, to explore aspects of user experience, system design and theory in a holistic yet manageable way. Our vision is software design, theory and tools reinvented, based on stochastic abstractions that reflect real world populations of software in use. Our objective is to establish this new science of software structures, and so tackle the complex problem of how to design to support change and appropriation.

The University of Glasgow, charity number SC004401

This talk is part of the Microsoft Research Cambridge, public talks series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.


© 2006-2022, University of Cambridge. Contact Us | Help and Documentation | Privacy and Publicity