Abstract

A lightweight, flow-insensitive pointer analysis tool called srcPtr is presented. The research investigates various methods for pointer analysis to determine which are scalable to large scale software systems. Pointers are variable that indirectly reference other variables within a source code program. Pointer analysis is a non-trivial activity for determining what variables are being pointed by which pointer and how these indirect references can alter program behavior. Pointer analysis is critical for compiler optimization, impact analysis, fact extraction, debugging, and program comprehension. A prototype tool is being constructed as a test bed for determining what analysis approaches are scalable while simultaneously providing a good approximation (full pointer analysis is NP-hard). The implementation, called srcPtr, is built on top of the srcML. srcML is an infrastructure that supports the analysis and exploration of source code and was developed here at Kent State. The research involves the implementation of various published algorithmic aspects of pointer analysis and determine, via experimentation, which can be accomplished within the parameters of scalability. The approach will be evaluated against Codesurfer a commercial program analysis tool. It is expected that srcPtr will be less accurate than Codesurfer but have drastically faster performance. Once completed, srcPointer, will be one of the only stand alone open-source pointer-analysis tool available. It will facilitate additional research that requires efficient pointer analysis currently not available. Additionally, industry professionals can use srcPtr to both obtain valuable data about their code and decide whether a more accurate, heavy-weight solution is appropriate and cost effective.

Modified Abstract

A lightweight, flow-insensitive pointer analysis tool called srcPtr is presented. The research investigates various methods for pointer analysis to determine which are scalable to large scale software systems. Pointers are variable that indirectly reference other variables within a source code program. Pointer analysis is a non-trivial activity for determining what variables are being pointed by which pointer and how these indirect references can alter program behavior. A prototype tool is being constructed. The research involves the implementation of various published algorithmic aspects of pointer analysis and determine, via experimentation, which can be accomplished within the parameters of scalability. Once completed, the approach will be one of the only stand alone open-source pointer-analysis tool available.

Research Category

Computer Science/Mathematics

Author Information

Vlas ZyrianovFollow

Primary Author's Major

Computer Science

Mentor #1 Information

Dr. Jonathan I. Maletic

Mentor #2 Information

Christian Newman

Presentation Format

Poster

Start Date

2017 1:00 PM

biographical sketch.txt (1 kB)
biographical sketch

head image.jpg (1074 kB)
headshot image

Research Area

Software Engineering

Share

COinS
 
Mar 21st, 1:00 PM

A Scalable Approach for Lightweight Pointer Analysis

A lightweight, flow-insensitive pointer analysis tool called srcPtr is presented. The research investigates various methods for pointer analysis to determine which are scalable to large scale software systems. Pointers are variable that indirectly reference other variables within a source code program. Pointer analysis is a non-trivial activity for determining what variables are being pointed by which pointer and how these indirect references can alter program behavior. Pointer analysis is critical for compiler optimization, impact analysis, fact extraction, debugging, and program comprehension. A prototype tool is being constructed as a test bed for determining what analysis approaches are scalable while simultaneously providing a good approximation (full pointer analysis is NP-hard). The implementation, called srcPtr, is built on top of the srcML. srcML is an infrastructure that supports the analysis and exploration of source code and was developed here at Kent State. The research involves the implementation of various published algorithmic aspects of pointer analysis and determine, via experimentation, which can be accomplished within the parameters of scalability. The approach will be evaluated against Codesurfer a commercial program analysis tool. It is expected that srcPtr will be less accurate than Codesurfer but have drastically faster performance. Once completed, srcPointer, will be one of the only stand alone open-source pointer-analysis tool available. It will facilitate additional research that requires efficient pointer analysis currently not available. Additionally, industry professionals can use srcPtr to both obtain valuable data about their code and decide whether a more accurate, heavy-weight solution is appropriate and cost effective.