Show simple item record

dc.rights.licenseCC-BY-NC-ND
dc.contributor.advisorHage, Jurriaan
dc.contributor.authorLiu, Xulei
dc.date.accessioned2022-11-01T01:01:33Z
dc.date.available2022-11-01T01:01:33Z
dc.date.issued2022
dc.identifier.urihttps://studenttheses.uu.nl/handle/20.500.12932/43129
dc.description.abstractPython is an interpreted, interactive and object-oriented programming language that stresses code readability. In Python, objects interact with each other to accomplish various tasks. Such interaction is usually achieved by attribute lookup, storage and deletion. We consider whether Python's attribute access semantics with different precision affect the precision of type analysis. Type inference for Python is hard due to the extensive use of external libraries and the dynamic language features. In this thesis we propose an object-sensitive type analysis for Python based on an extension of the notion of monotone frameworks to deal with dynamic flow manipulation. In addition, we also implement a type parser to partially support retrieving types from Python stub files. Our results show that the analysis precision is not improved substantially when employing sophisticated attribute access semantics.
dc.description.sponsorshipUtrecht University
dc.language.isoEN
dc.subjectThe thesis is about type analysis for Python based on Object sensitivity. We are interested in how attribute access operations affect the analysis precision. The results show that the analysis precision is not improved substantially by employing path-sensitive attribute access semantics and we discuss possible answers to the results.
dc.titleObject-sensitive Type Analysis for Python
dc.type.contentMaster Thesis
dc.rights.accessrightsOpen Access
dc.subject.keywordstype analysis; data flow analysis; dynamic monotone framework; static analysis; Python; control flow graph; object sensitivity
dc.subject.courseuuComputing Science
dc.thesis.id11317


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record