Welcome to the non-home page of Lee Naish
Dr. Lee Naish
Department of Computing and
University of Melbourne
E-mail: The heritage version, lee at cs.mu.oz.au still works
but cs.mu.oz.au is unfortunately now deprecated; its safer to use
unimelb.edu.au instead. Note that due to unmaintained local e-mail
infrastructure and spam, I have reluctantly moved to another e-mail
system. There is now a higher chance I'll read any e-mail you send
to me. The downside is that Google will read it also, along with any
reply I send. I miss the time when e-mail was fast, reliable, convenient
official impersonal page
Phone (department): +61 3 8344 1500
Phone (my office): +61 3 8344 1343
Fax: +61 3 9349 4596
Doug McDonell - Building 168
Telex: Hey, its the third millennium! Who uses that obsolete technology
nowadays? You don't really want my telex number do you? Oh. Ok,
its AA 35185.
My PGP public key
This page is not under construction. It is finished, complete,
"Can I have Spam, Spam, Spam, Spam, Spam, e-mail, Spam, news and Spam
without the Spam?"
As from the start of December 2013 I have stopped paid work (I
have no teaching or admin duties - if you think I'm the right
person to contact, think again) and have been diagnosed with a terminal illness, which amplifies the
following old message.
As from the start of March 2000 I have been working half time due to
health reasons. Unfortunately, my e-mail load
didn't immediately drop by half and it is a major obstacle to getting
other work done. In addition, I have become a
somewhat of an e-mail backlog amongst other
things. So, please direct enquiries as below. If you do
send me e-mail, make sure the subject line and start don't look like
spam - my "delete without looking further" threshold has been lowered.
Micro$oft-dependent files etc generally go straight to
Ever since I was an undergraduate Computer Science student I have been
fascinated by reasoning about program correctness, and this
has been a central theme of my research ever since. It can be summed
up by the following question.
How can we clarify the relationships between what
we want a computer to do (which is in our head), the programs we write
(syntactic objects), and what they make a computer do (a sequence of
execution states, hopefully ending up with what we wanted)?
This has naturally lead to an interest in declarative programming
languages: topics such as programming language design and
implementation, declarative debugging (reasoning about
incorrectness) and semantics.
I have also worked on debugging using program spectra (eg. data on what
statements are executed in each of a set of passed or failed tests). This
has lead to an interest in set similarity. For debugging,
we expect the set of test cases which fail to be "similar" to the set
of test cases which execute a buggy statement (more similar than for
correct statements at least). More than a hundred different ways of
measuring set similarity have been used and it is an important problem
throughout science and is a special case for machine learning
and data mining.
Other interests have included algorithm animation (the Algorithms In
Action system), information economics and vote counting.
Interesting? You might like to take a look at some of my
The list of papers is sometimes a bit out of date.
If you are a prospective PhD student I would be glad to hear from you,
but please be as specific as possible about what research topic you are
I have some input into the supervision of the following postgraduate
Debugging using program spectra
Dr. Peter Eckersley (flew the coop
but finally delivered - yay!)
Dr. Jason Lee
Debugging using program spectra
Dr. Bernie Pope (completed, winner of the ACS
distinguished dissertation award for 2007)
Declarative debugging of Haskell
From 2014 I have no teaching committments (see above).
In the not too distant past I have been involved with
COMP30020 Declarative programming
UNIB10005 Internet Meets Society
INFO10002 Informatics 2: Programming on the Web
(Advanced Prolog programming techniques, Mercury, theory,
Algorithms and Complexity
Professional Issues in Computing (social issues, ethics, privacy, risks,
IP, communication skills etc)
Algorithms and Data Structures
(C programming, algorithms and data structures in imperative
and declarative languages, though there is not much of the latter
Logic and Computation
(Prolog programming, logic, computability).
Legal Issues in Computing
(A research-based subject covering topics such as intellectual property,
relationships between legislation, logic and algorithms, computers and
Artificial Intelligence (agents, problem solving, game playing, logic, etc).
Frontiers of Computer Science (several lectures on
I was once the best
Privacy Liaison Officer the department had ever
had. I'm not sure if that role still exists and
I am still looking forward to the time when we have a
web page listing who is responsible for what in the department.
I also put in a submission
to the 2005/2006 Review of the Faculty of Engineering.
Yes, I do have a life... You might like to check out
- A list of useful
(gives some indication of my other interests, or at least what they
were a decade or two ago)
- A list of useless
If you are tempted by this please quit now.
You are obviously wasting valuable bandwidth, which I could be using to
do the world a favour and update my
what is currently in my pocket page from my COOL
form interface. Hmm, this joke is
looking a bit dated - I guess I should upgrade it from HTML version 2.0
Gosh, even that meta-joke is getting outdated - I should be using Web 2.0
technologies so you can update and discuss what is or
should be currently in my pocket and I can spend my ample spare time reading
- My tips on
how to solve the world's problems
of me rock climbing, unicycling,
juggling, fire breathing (I get more e-mail about this than anything else on my
Web pages; all information I have on this topic can be found
or just being
dull and boring
Due to ammendment number 73 of 1996 of
Regulation 8.1.R7 of The University of
Melbourne I am compelled to include the following fascinating information:
- This page, its contents and style, are the resposibility of the author
and do not necessarily represent the views, policies or opinions of The
University of Melbourne.
- The same disclaimer applies for all my other computer files, technical
reports, papers, lecture notes, handouts, text and diagrams on
white boards, toilet walls, etc.
- The author of this page is
- This page was probably last updated around
Mon May 26 10:36:00 EST 2014
but your browser should be able to provide accurate information
on modification dates. As for when the content of the page were most
recently correct (if ever), who knows?
- I don't know when this page was created, boss, but it was certainly before
any regulations saying you had to include such information on pages.
- I hope "The University of Melbourne" is not a trademark of The
University of Melbourne, otherwise I'm in real strife.
- This section of this page, its contents and style,
do not necessarily represent the views, policies or opinions of The
- I used to have a Home Page but the regulations now say:
A Home Page is the first single page, or point of contact, for a
Faculty, Department or Organisation. The subsequent pages that the Home
Page leads to should simply be referred to as "pages".
I wanted a Homme Page instead, but the the official booklet says to
avoid gender-specific speech and writing.
I considered a Noam page, but didn't want to question the authority
I thought about an Ohm Page, but the faceless bureaucrat said
resistance is futile.
I dreamed about a Gnome Page, but was told they don't exist.
I meditated about an Om Page, but my mind went
So, for now, I've settled for a non-Home Page.