dc.contributor.author | Kuderski, Jakub | |
dc.date.accessioned | 2019-08-13 18:16:29 (GMT) | |
dc.date.available | 2019-08-13 18:16:29 (GMT) | |
dc.date.issued | 2019-08-13 | |
dc.date.submitted | 2019-08-08 | |
dc.identifier.uri | http://hdl.handle.net/10012/14875 | |
dc.description.abstract | Pointer analysis is indispensable for effectively verifying heap-manipulating programs.
Even though it has been studied extensively, there are no publicly available pointer analyses
for low-level languages that are moderately precise while scalable to large real-world programs.
In this thesis, we show that existing context-sensitive unification-based pointer analyses suffer
from the problem of oversharing – propagating too many abstract objects across the analysis
of different procedures, which prevents them from scaling to large programs.
We present a new pointer analysis for LLVM, called TeaDsa, with such an oversharing
significantly reduced. We show how to further improve precision and speed of TeaDsa
with extra contextual information, such as flow-sensitivity at call- and return-sites, and
type information about memory accesses. We evaluate TeaDsa on the verification problem
of detecting unsafe memory accesses and compare it against two state-of-the-art pointer
analyses: SVF and SeaDsa. We show that TeaDsa is one order of magnitude faster than
either SVF or SeaDsa, strictly more precise than SeaDsa, and, surprisingly, sometimes
more precise than SVF. | en |
dc.language.iso | en | en |
dc.publisher | University of Waterloo | en |
dc.subject | pointer analysis | en |
dc.subject | alias analysis | en |
dc.subject | LLVM | en |
dc.subject | program analysis | en |
dc.subject | program verification | en |
dc.subject | static analysis | en |
dc.title | Scalable Context-Sensitive Pointer Analysis for LLVM | en |
dc.type | Master Thesis | en |
dc.pending | false | |
uws-etd.degree.department | Electrical and Computer Engineering | en |
uws-etd.degree.discipline | Electrical and Computer Engineering | en |
uws-etd.degree.grantor | University of Waterloo | en |
uws-etd.degree | Master of Applied Science | en |
uws.contributor.advisor | Arie, Gurfinkel | |
uws.contributor.affiliation1 | Faculty of Engineering | en |
uws.published.city | Waterloo | en |
uws.published.country | Canada | en |
uws.published.province | Ontario | en |
uws.typeOfResource | Text | en |
uws.peerReviewStatus | Unreviewed | en |
uws.scholarLevel | Graduate | en |