ISR Subtitle Bar

Home  |   People  |   Research  |   Publications  |   Tech Transition  |   Events  |   Partnerships  |   About ISR  |   Contact Us


An Investigation of Program Slice Encoding and its Applications

Student: Kai Pan


Advisor: Jim Whitehead, UCSC/ISR


Abstract: PSE (program slice encoding) is an approach that encodes a program slice to a hash value. The program dependence graph is used to compute and represent a program slice. After that, the PSE algorithm transforms the program dependence graph of a program slice to a normalized one, and, then, encodes the normalized program dependence graph to a hash value. The PSE algorithm ensures that a subset of program slices that have different texts but the same behavior can be mapped to the same hash value. We use the PSE algorithm on program procedures, so the behavior of a procedure is represented by one or multiple program slice hashes. The PSE approach can be used in various application areas such as entity mapping analysis across versions, clone detection, and impact analysis.


Bio: Kai Pan is a Ph.D. candidate in the Department of Computer Science, University of California, Santa Cruz. He graduated with a Bachelor of Science in Computer Science from Peking University, Beijing, China in 1995. He got his Master of Science in Computer Science also from Peking University, Beijing, China in 1998. In September 2001, he became a Ph.D. student of University of California, Santa Cruz and his advisor is Dr. Jim Whitehead. Kai's research interests include program analysis, software evolution analysis, software configuration management, and hypertext versioning.