Engineering Center, Room 301
115 Library Drive
Rochester, MI 48309-4479
Dean's Office: (248) 370-2217
Academic Advising: (248) 370-2201


Lunjin Lu, Ph.D.

Lunjin Lu, Ph.D.
Associate Professor and Interim Chair
Computer Science and Engineering Department
546 EC
(248) 370-2200

Ph.D., Birmingham University (U.K.), 1995

  • Joined Oakland University in 2000
  • Member of ALP, ACM


  • Software verification
  • Static Program analysis
  • Programming languages
  • Constraint and logic programming
  1. My work on semantic-based program analysis is based on the abstract interpretation approach. Abstract interpretation analyzes a program by simulating its execution on a non-standard domain called abstract domain. Since 1990, I have been working on semantics-based program analysis and its applications to logic programs. The topics I have worked on range from general analysis framework to new program analysis to efficient implementation.
  2. Constraint and logic programming provides more natural solutions to many problems than other programming paradigms could. From 1997 to 1999, I worked with the Starlog project at the University of Waikato. Starlog is a temporal logic programming language under development. Within the project, my work involves language design, semantics, program analysis, implementation, debugging, constructive negation and application programs.
  3. Declarative Debugging is a method to detect and diagnose bugs in programs. It doesn't rely on the programmer's understanding of the structure and the operational semantics of the program. What it requires of the programmer is his/her ability to answer queries about the intended semantics of the program. This is particularly valuable in functional, constraint and logic programming languages and when concurrent and parallel mechanisms are supported.
  4. Software development tools help improve software quality and software development productivity. In the past, I have developed prototypes of a few software tools. I would like to continue to explore the synergism between software development and research. In particular, I would like to further develop my software prototypes for program analysis and program debugging.