Tom Mullen

Below are links to the papers and presentation materials.

Writing Code For Other People” is a paper on software design that was delivered at OOPSLA 2009.


This paper demonstrates how the cognitive model of the mind can explain the core fundamentals behind widely accepted design principles. The conclusion is that software design is largely a task of chunking analogies and presents a theory that is detailed enough to be accessible to even the most inexperienced programmer. The corollary of which is a pedagogical approach to understanding design principles rather than the necessity of years of software development experience.

A Software Complexity Metric Based On Cognitive Principles” has been submitted to Onward 2012.


The metric is a measure of the cost of understanding software and can be evaluated at all levels of the code (from expression/statement through to library/application). A working prototype has been validated against manufactured examples for refactoring, design patterns and cohesion levels. The suggestion is that the metric could be used as part of an approach to automate a large part of refactoring and software design.