Abstract
dc:description.abstract<p>Static analysis tools can aid programmers by reporting potential programming mistakes prior to the execution of a program. Funqual is a static analysis tool that reads C++17 code ``in the wild'' and checks that the function call graph follows a set of rules which can be defined by the user. This sort of analysis can help the programmer to avoid errors such as accidentally calling blocking functions in time-sensitive contexts or accidentally allocating memory in heap-sensitive environments. To accomplish this, we create a type system whereby functions can be given user-defined type qualifiers and where users can define their own restrictions on the call graph based on these type qualifiers. We demonstrate that this tool, when used with hand-crafted rules, can catch certain types of errors which commonly occur in the wild. We claim that this tool can be used in a production setting to catch certain kinds of errors in code before that code is even run.</p>
Degree
thesis:*- Name thesis:degree_name
- MS in Computer Science
- Discipline thesis:degree_discipline
- Computer Science
- Year dc:date.available
- 2018
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Nelson, Andrew P
- Contributors dc:contributor
-
- Aaron Keen
Subjects
dc:subject × 13Identifiers
dc:identifier.*- Identifier
- 10.15368/theses.2018.94
- OAI identifier oai:identifier
- oai:digitalcommons.calpoly.edu:theses-3256