Lindsay's (very slowly!) Evolving Home Page
|This is me:
|| This is the view I used to have from my office window:
for a larger version.
|Click here for a view of Wellington
harbour as it is right now.
|and here for
details of Wellington weather.
(my "official" departmental, boring, home page)
My view of computing, both research and teaching, is pretty neatly summed up
in the following quotation from Christopher Strachey, founder of the
Programming Research Group at Oxford University:
It has long been my personal view that the separation of practical and
theoretical work is artificial and injurious. Much of the practical work
done in computing, both in software and in hardware design, is unsound
and clumsy because the people who do it have not any clear understanding
of the fundamental design principles of their work. Most of the abstract
mathematical and theoretical work is sterile because it has no point of
contact with real computing. One of the central aims of the Programming
Research Group as a teaching and research group has been to set up an
atmosphere in which this separation cannot happen.
My current research is concerned with formal software development, with
emphasis on structuring formal specifications, tool support for the
refinement calculus, and techniques for combining and adapting formal
I am working on FoRST supported
(Improving Software using Requirements Formalization) project, in
conjunction with Steve Reeves and Mark Utting at Waikato and Ray Nickson at
And on a project on
Proof Methodologies for Concurrent Algorithms with Mark
Moir at Sun Labs, and others at VUW. We have verified a number of nonblocking
implementations of concurrent data structures. Some of our verification
attempts have uncovered bugs in published algorithms, which we have corrected,
others have led to ideas for improving the algorithm.
I also have interests in automated reasoning, logic programming, program
visualisation, interactive programming systems, and databases, and am a member
Software Engineering Research Group.
Here is a list of some of my recent publications (or
rather, not so recent - this is way out of date! I'll update it when I find
time - email me if you want to know about my more recent work).
You can find some of my older publications as VUW
Some recent (this is also not very recent!) graduate student projects:
Simon Doherty, Modelling and Verifying Non-blocking Algoroithms that Use
Dynamically Allocated Memory, MSc, 2003.
Ben Gaskin, Datstan: A Data Structure Animator, GradDipSci, 2002.
Ivan Tuckwell, Procedures and Recursion in the Refiement Calculus,
Some suggestions about possible projects I would be
interested in supervising.
I am (or was) on the programme committee for the following conferences
Australasian Workshop on Computational Logic
(Part of ACSW2000
Australasian Computer Science Conference)
Australian National University, Canberra, 3-4 February, 2000
5th International Conference on Mathematics of Program Construction,
3-7 July, 2000, Ponte de Lima, Portugal.
Deadline for submission of papers: 3rd January, 2000
I am currently involved in teaching the following courses:
Special Topic: Formal Aspect of Concurrent Systems
is also available.
Introduction to Computer Program Design
Systems and Network Programming
Formal Software Development