Donglin Liang
Assistant Professor
Computer Science and Engineering
EE/CS 6-205
University of Minnesota
Phone: 612-626-7508
dliang@cs.umn.edu
|
 |
"We are what we repeatedly do.
Excellence, then, is not an act, but a habit." - Aristotle

Research Opportunities
Projects are available for both Master students and PhD students. These
projects are in various areas such as anlaysis of Java programs,
program
visualization, testing and analysis of programs in ubiquitous computing
environment, understanding the complexity of programs. RA positions are available.
If interested, please contact me.
Research Overview
Our mission: Bridging
the cognition gap between software specification (formal/informal) and
the software implementation.
Ever-increasing demands and complexity of software systems have
constantly called for improvement in software quality and programming
productivity. Software quality and programming productivity greatly
depend on the capabilities of programmers in reasoning about,
understanding, and verifying software artifacts. The main goal of my
current research is to develop techniques and tools that can enhance
such capabilities. My current research focuses on the following areas.
- Investigate, through empirical studies and case
studies, the complexities involved in testing, reasoning, and verifying
programs. Such investigation would identify the requirements for
practical programming development tools that handle such complexities.
The investigation also provides insights in developing effective
techniques and tools.
- Investigate new program analysis techniques that can
automatically extract information from program artifacts to support
various software development and maintenance activities. The
investigation involves developing and evaluating techniques that can
efficiently handle, as precisely as possible, various language
features (e.g. pointers, references, dynamic binding, recursive
data structures) in program analyses and verification. The
investigation also involves developing systems that effectively gather
the dynamic information from program execution when the program is
being tested or is being used by the real users.
- Develop effective software visualization techniques.
These techniques provide various viewing and navigating capacities for
uitlizing the information extracted from the program or the program
execution for better understanding the program behaviors.
The ultimate goal of my research
is to facilitate practical software tools for developing, testing,
debugging, and maintaining of real software.
Program Analysis Research Groups
 |