Publication Date
Spring 2025
Degree Type
Master's Project
Degree Name
Master of Science in Computer Science (MSCS)
Department
Computer Science
First Advisor
Thomas H. Austin
Second Advisor
Katerina Potika
Third Advisor
Fabio Di Troia
Keywords
Programming language design, cybersecurity, user experience, testing, sandboxing
Abstract
When using third-party packages or libraries, it is crucial to understand their behavior. Typically, this requires developers to either conduct code reviews or set up sandbox environments for testing or write unit tests with mocked values for every function used in their code. However, these approaches are often inefficient and time-consuming. A more effective solution would provide developers with a broad understanding of the functionality required by the code they plan to import. This can be done using object capabilities, where a particular functionality is the capability that an object must possess, in order to be able to perform the required actions. Examples of these functionalities of capabilities could be something like File I/O, Network access etc. This research explores using the object-capabilities system to create faux capabilities. The faux capabilities possess the same methods and attributes as the original capabilities, however the way they behave is different. These capabilities can either mock results for the operations used by the third-party code or log those operations to a defined log file, helping developers gain insight into the code’s behavior without having to set up a sandbox environment or creating mocked unit tests.
Recommended Citation
Godse, Tanay, "Faux Capabilities: A novel approach for code analysis" (2025). Master's Projects. 1504.
DOI: https://doi.org/10.31979/etd.pfuq-dxb4
https://scholarworks.sjsu.edu/etd_projects/1504