Expand the section navigation mobile menu

Lunjin Lu, Ph.D.

Lunjin Lu Headshot

Computer Science and Engineering Department
546 EC
(248) 370-2231
[email protected]

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

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


  • Programming languages
  • Theory of computation
  • Object Oriented Programming
  • Data structures
  • Algorithms
  • Parallel and Concurrent programming


  • Software verification
  • Static Program analysis
  • Programming languages
  • Constraint and logic programming
  • Abstract Interpretation
  • Web application security
  • Software Security
  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.

Selected Publications

1.Astrid Younang, Lunjin Lu, and Nabil Almashfi, Statically checking Conventionality of JavaScript Array Objects, Proceedings of the 4th International Conference on Tools and Methods of Program Analysis, 2017

2.Nabil Almashfi and Lunjin Lu, Analyzing JavaScript Programs Using Octagon Domain, 34th International Conference on Computers and Their Applications (CATA 2019), Honolulu, March 18-20, 2019.

3.Assad Maalouf, Lunjin Lu, James Lynott, Automata-Based String Analysis for Detecting Malware in Android Programs, International Scholarly and Scientific Research & Innovation 14 (12) 2020.

4. L. Lu, A Polymorphic Type Dependency Analysis for Logic Programs, New Generation Computing, 29(4): 409-444 (2011)

5. A. King and L. Lu, A Backwards Analysis of Constraint Logic Programs TPLP 2 (4-5): 517-547 (2002)

6. L. Lu and A. King, Determinacy Analysis of Logic Programs, ESOP 2015: 108-123.

7. Astrid Younang, Lunjin Lu: Improving Precision of Java Script Program Analysis with an Extended Domain of Intervals. COMPSAC Workshops 2015: 441-446

8. S Kim, D-K Kim, L Lu and S Park, Quality Driven Architecture Development Using Architectural Tactics, Journal of systems and Software, 82 (8):1211-1231 (2009)

9. L Lu and D-K Kim, Required Behavior of UML Sequence Diagrams: Semantics and Conformance, ACM TOSEM, 23 (2): 15:1 – 15:28, (2014)

School of Engineering and Computer Science

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