Lingxiao Jiang's Research Page

Research Projects

I am broadly interested in Software Engineerning and Programming Languages with special interests in code analysis and comprehension. I develop techniques and tools based on many areas, such as program analysis, compiler optimizations, and machine learning, to help developers to more effectively understand, program, maintain code, and improve software quality. Please see:

(I) Code Clone Analysis

I particularly focus on scalable and accurate detection of syntactically and semantically similar code. The detection methods utilize many different kinds of information, spanning a wide spectrum from lexical characteristics of the code to its dynamic behaviors, for many valuable applications, such as code refactoring for lower maintenance costs, inconsistency finding for bug detection, plagiarism detection, and behavioral classification for program comprehension. DECKARD is readily scalable to billions of lines of code.

(II) Testing and Debugging

Besides clone-related program errors, I am also interested in approaches for detecting general kinds of bugs, espcially those difficult to be detected by existing in-house techniques and tools. I developed a program simplification approach that better utilizes potentially unlimited program execution profiles from users to locate possible bugs in programs. Although simple, the idea is generic and effective for bug detection by combining many beneftis of existing program profiling technques and testing and debugging tools.

(III) Program Analysis

Another common, but "non-standard" category of bugs lie in numerical software systems, such as floating-point number exceptions and certain semantic errors caused by misues of formulae. In particular, I have developed a non-standard dimensional type system for detecting misues of measurement units.

Valid XHTML 1.0! Valid CSS!