ELVIS: Software Engineering Research Group

The ultimate goal of all computer science is the program. Designers, programmers and engineers must once again come to know and comprehend the composite character of a program, both as an entity and in terms of its various parts.

Welcome to Elvis, the software engineering research group in the School of Engineering and Computer Science at Victoria University of Wellington, New Zealand. Our work ranges from more technical research concerning the structure of software and tool support for development, to human-computer interaction and software development processes. We have experience and interests in a wide range of topics and applications in the OO paradigm, including programming languages, visualisation, design patterns, software reuse, frameworks, and agile methods, as well as in interface design and evaluation.

We meet within SubGroups:

Presentation about SWEN Research at ECS:

Latest News

Werner Heijstek Seminar

18 Apr 2010 - 13:34 in Seminar

Werner Heijstek gave a seminar on Software Design in Global Development.

Tracking Liquid Geometry

05 Apr 2011 - 15:37 in Seminar

Robert Bridson from the Imager and SCL labs in the Department of Computer Science at the University of British Columbia gave a seminar on Tracking Liquid Geometry as part of the Victoria University and Weta Digital Computer Graphics Lecture Series.

Sven Hartmann Seminar

18 Apr 2010 - 13:32 in Seminar

Sven Hartmann gave a seminar on Chasing after Potential Secrets in Relational Databases.

Sustainable Open Source - Dirk Riehle

09 Jan 2013 - 13:47 in Seminar

Sustainable Open Source (Video) by Dirk Riehle

MySQL was sold for one billion US-dollar. Red Hat is worth a multiple of that. The Eclipse Foundation has pushed many software tool vendors out of business. How come that open source, a phenomenon dubbed "temporary" not only has become sustainable but the business strategy of choice? In this talk, I discuss the four main business models, two for-profit and two not-for-profit, that have made open source sustainable. These models are changing the business of software and are the future of our industry.

Susan Eisenbach Seminar

18 Feb 2010 - 19:47 in Seminar

Susan Eisenbach from Imperial College, London, England gave a seminar on "Concurrent Programming: Is there a silver bullet?". February 2010.

Stephen Cheng Innaworks Talk

24 Sep 2009 - 17:31 in Seminar

Stephen Cheng from Innaworks will talk about the A to Z of building a compiler, focusing on everything but the program analysis and optimizations. Stephen will try to cover garbage collection, multi-threading, run-time-library architectural choices, platform specific optimizations, specialized tools developed in-house for building a compiler (such as for debugging run-time library, or profiling etc). He will also talk a little on how code analysis/code generation interact with some of the above topics. Details: Friday, 25th of September, 2009 at 11am in CO216.

Siva Dorairaj PhD Proposal Seminar

10 Dec 2010 - 15:54 in Seminar

SivaDorairaj gave a PhD Proposal seminar on Globally Distributed Agile Software Development - A Grounded Theory

Rustan Leino Seminar

18 Apr 2010 - 13:45 in Seminar

Rustan Leino from Microsoft Research gave a seminar on The Dafny program verifier.

Roman Klapaukh PhD Proposal Seminar

15 Feb 2012 - 13:32 in Seminar

Roman Klapaukh gave his PhD proposal seminar on 3D Gestures for Graphs.

Rob O'Callahan Seminar

18 Apr 2010 - 13:41 in Seminar

Robert O'Callahan from Mozilla gave a seminar on API Design for the Masses.

Rendering and Pipelines

25 May 2011 - 20:37 in Seminar

Luca Fascione from Weta Digital gave a seminar on Rendering and Pipelines as part of the Victoria University and Weta Digital Computer Graphics Lecture Series.

Rashina Hoda Seminar

18 Apr 2010 - 13:39 in Seminar

Rashina Hoda gave a seminar on Organizing Self-Organizing Agile Teams. .

Ranald Clouston Seminar

06 Nov 2012 - 11:54 in Seminar

Ranald Clouston gave a seminar on Reasoning about Computing Syntax

Philippe Kruchten Seminar

18 Apr 2010 - 13:30 in Seminar

Philippe Kruchten gave a seminar on Software Architecture Knowledge Management

Paley Li Seminar

22 Mar 2013 - 17:31 in Seminar

Paley Li PhD Proposal Seminar

30 May 2011 - 14:52 in Seminar

PaleyLi gave his PhD proposal seminar on Multiple Ownership with Cloning.

Neal Glew Seminar

22 Mar 2013 - 17:33 in Seminar

Neal Glew gave a seminar on Relaxed Memory Models.

Multi-touch Guest Lectures

07 Apr 2011 - 19:24 in Seminar

Yi-JingChung and CraigAnslow gave guest lectures on multi-touch user interfaces based on their research for SWEN422 Human Computer Interaction and ENGR101 Engineering Technology, respectively.

Multi-View Autoscopic 3D Displays

30 Mar 2011 - 12:31 in Seminar

NeilDodgson from the Computing Lab at the University of Cambridge gave a seminar on Multi-View Autoscopic 3D Displays as part of the Victoria University and Weta Digital Computer Graphic Lecture Series.

Mark Moir Seminar

01 Mar 2010 - 22:37 in Seminar

MarkMoir gave a seminar on "Experience with and Potential of Hardware Transactional Memory".

I will briefly summarise our experience with the Hardware Transactional Memory (HTM) feature of Sun's multicore processor code named Rock. This experience has demonstrated significant potential in making it easier to construct concurrent data structures that are scalable, efficient, and correct, but also a number of limitations that prevent us from exploiting the full power of HTM. In the second half of the talk, I will focus on the potential of HTM by considering how it can be used to simplify various concurrent algorithms. The goal of this work has been to explore the assumptions needed about an HTM feature in order to exploit it in various contexts. We hope these observations will help guide designers of future HTM features.

Bio: Mark Moir is a Distinguished Engineer a Sun Microsystems, and is the Principal Investigator of the Scalable Synchronization Research Group at Sun Labs. Moir received the B.Sc. (Hons.) degree in Computer Science from Victoria University of Wellington, New Zealand in 1988, and the Ph.D. degree in Computer Science from the University of North Carolina at Chapel Hill, USA in 1996. From August 1996 until June 2000, he was an assistant professor in the Department of Computer Science at the University of Pittsburgh, after which he joined Sun Labs.

Marco Servetto Seminar

15 Feb 2012 - 13:31 in Seminar

MarcoServetto a new academic staff member working with AlexPotanin gave a seminar on MetaFJig - A Meta-Circular Composition Language for Java-like Classes.

Keith Cassell PhD Proposal Seminar

14 Sep 2009 - 17:06 in Seminar

KeithCassell gave his PhD proposal seminar on Using clustering to enhance the maintainability of OO classes.

James Skene Seminar

24 Feb 2010 - 10:56 in Seminar

James Skene who is a post-doc with John Hosking at the University of Auckland gave a seminar on "Descript, a declarative, object-oriented modelling language".


Software engineering, or the act of producing software, involves capturing decisions and domain knowledge in abstractions. Ultimately, the programs that we write are abstractions, or models, of their every possible execution. But, in the course of writing a program we may also develop other abstractions, such as domain models, class hierarchies, interfaces, domain-specific representations etc.

Ideally, once we have captured some knowledge in an abstraction, we would prefer to reuse that abstraction in other projects, rather than go to the effort of redeveloping it. But, it seems to be difficult to keep track of what artifacts mean over time, and to separate interesting abstractions from non-interesting, project specific ones.

In my talk I will discuss Descript, a language that I am developing with funding from the FRST. Descript is an attempt at a language that will allow software engineers to capture abstractions in such a way that their meaning is clear, retained over time, easy to extract, relatively untainted by quotidian detail, and at the same time still useful. It is object-oriented in the sense that it models objects and relationships in the real world. It is declarative in the sense that it has no primitives for modelling actions. Descript is intended to be useful for programming, modelling and metamodelling. It is also intended to address some perceived deficiencies in existing technologies in the model-driven engineering sphere, such as UML, MOF and OCL.

Giuseppe Destefanis Seminar

15 Feb 2012 - 13:29 in Seminar

Giuseppe Destefanis from the University of Cagliari, Italy and visiting EwanTempero at the University of Auckland visited Elvis and gave a seminar on An Analysis of Micro-Anti-Pattern Effects on Fault-Proneness in Large Java Systems

David Streader Seminar

06 Nov 2012 - 11:53 in Seminar

David Streader gave a seminar on Putting Semantics and Interpretations First

Dave Pearce talk at Wellington JUG

18 Sep 2009 - 00:48 in Seminar

DavidPearce gave a talk at the Wellington Java User Group, On Eradicating the Dreaded NullPointerException, 16 September 2009.

Dave Pearce another talk at Wellington JUG

09 Dec 2009 - 14:31 in Seminar

DavidPearce gave another talk this year at the Wellington Java User Group, on Java Puzzlers, 2 December 2009.

Craig Anslow PhD Proposal Seminar

18 Apr 2010 - 13:38 in Seminar

Craig Anslow gave a PhD Proposal seminar on Multi-touch Table User Interfaces for Collaborative Visual Software Analytics.

Colin Atkinson School Seminar

14 Sep 2009 - 17:13 in Seminar

Colin Atkinson from University of Mannheim, Germany, gave a school seminar on Boosting Productivity through Search-Driven Reuse.

Best of (our) Empirical Open Source Research - Dirk Riehle

09 Jan 2013 - 13:45 in Seminar

Best of (our) Empirical Open Source Research seminar (Video) by Dirk Riehle

Open source software is publicly developed software. Thus, for the first time, we can broadly analyse in data-driven detail how people program, how bugs come about, and how we could improve our tools. In this talk, I'll review six years of our open source empirical (data) research and highlight the most interesting insights, including how different (or not) open source is from closed source programming.

Animating Physics for Cinema

05 May 2011 - 16:23 in Seminar

Eitan Grinspun from the Computer Graphics Group in the Department of Computer Science at Columbia University gave a seminar on Animating Physics for Cinema as part of the Victoria University and Weta Digital Computer Graphics Lecture Series.

Andrew Craik Visit

14 Sep 2009 - 17:21 in Seminar

Andrew Craik from the Parallelism Research Group at the Microsoft Queensland University of Technology e-Research Centre gave a school seminar on Using ownership to reason about inherent parallelism in object-oriented programs. Andrew stayed for a week and had meetings with various people here working on programming languages and ownership.

Alcino Cunha Seminar

18 Apr 2010 - 13:36 in Seminar

Manual Alcino Cunha gave a seminar on An Algebraic Approach to Bidirectional Model Transformations.

Agile and User Experience

30 May 2011 - 14:51 in Seminar

JenniferFerreira visiting from the Open University in the UK gave a seminar on Agile and User Experience.

Accelerating Animation with Machine Learning

01 Jun 2011 - 12:58 in Seminar

JP Lewis from Weta Digital and also a senior lecturer in the School of Design gave a seminar on Accelerating Animation with Machine Learning as part of the Victoria University and Weta Digital Computer Graphics Lecture Series.