Context-Sensitive Control Flow Graph

dc.contributor.author Ng, Jim-Carl
dc.contributor.department Electrical and Computer Engineering
dc.date 2020-08-21T23:08:12.000
dc.date.accessioned 2021-02-26T08:48:33Z
dc.date.available 2021-02-26T08:48:33Z
dc.date.copyright Thu Jan 01 00:00:00 UTC 2004
dc.date.issued 2004-01-01
dc.description.abstract <p>Control Flow Graph (CFG) is known to be essential in compiler optimizations and quite useful in program comprehension. But visualizing and understanding CFG is hard because the CFG is often too large. The problem becomes harder if one were to understand inter-procedural CFG. Often the user wants to understand specific aspects of the CFG; hence, omitting parts of CFG irrelevant to the user's current interest becomes a desirable approach in working with CFG. We formalize an approach of constructing and visualizing CFG that takes users' interests into account. Users have to specify the program artifacts that are of interest to them, then we define the Context-Sensitive CFG that is relevant to the artifacts. The Context-Sensitive CFG is much smaller in size. The actual compression depends on the context and its spread in the given code. We show some results using the XINU operating system code as the test case. While the Context-Sensitive CFG captures only the relevant details, it could still be of substantial size and complexity. We propose query capability as a next step to help the user by extracting details related to a specific question. For example, the user can apply a query to check if there is an execution path in the CFG along which there is a missing memory deallocation and thus a possible memory leak. This thesis only implements queries that operate solely within the scope of a method (intra-procedural). We have built a proof-of-concept tool that allows the user to visualize Context-Sensitive CFG and make queries.</p>
dc.format.mimetype application/pdf
dc.identifier archive/lib.dr.iastate.edu/rtd/20215/
dc.identifier.articleid 21214
dc.identifier.contextkey 18970480
dc.identifier.doi https://doi.org/10.31274/rtd-20200817-8
dc.identifier.s3bucket isulib-bepress-aws-west
dc.identifier.submissionpath rtd/20215
dc.identifier.uri https://dr.lib.iastate.edu/handle/20.500.12876/97582
dc.language.iso en
dc.source.bitstream archive/lib.dr.iastate.edu/rtd/20215/Ng_ISU_2004_N52.pdf|||Fri Jan 14 22:21:35 UTC 2022
dc.subject.keywords Electrical and computer engineering
dc.subject.keywords Computer engineering
dc.title Context-Sensitive Control Flow Graph
dc.type article
dc.type.genre thesis
dspace.entity.type Publication
relation.isOrgUnitOfPublication a75a044c-d11e-44cd-af4f-dab1d83339ff
thesis.degree.discipline Computer Engineering
thesis.degree.level thesis
thesis.degree.name Master of Science
File
Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
Ng_ISU_2004_N52.pdf
Size:
1.41 MB
Format:
Adobe Portable Document Format
Description: