LEVERAGING SYSTEM CALL INTERPOSITION FOR LOW-LEVEL PROCESS MANIPULATION
dc.contributor.advisor | Devietti, Joseph, L | |
dc.contributor.author | Navarro Leija, Omar | |
dc.date.accessioned | 2024-03-19T19:03:47Z | |
dc.date.available | 2024-03-19T19:03:47Z | |
dc.date.copyright | 2022 | |
dc.date.issued | 2022 | |
dc.date.updated | 2024-03-19T19:03:48Z | |
dc.description | 2022 | |
dc.description.abstract | Modern software continues to grow in size and complexity with no signs of slowing down.Program tracing allows us to observe the execution of a program. OS-level program tracing is useful, as it allows us to abstract over many details of program execution and view programs based on the IO operations they perform. Beyond read-only program tracing, this dissertation overviews low-level process manipulation. We argue process manipulation is a useful and general technique with many applications. We show the utility of tracing and process manipulation by covering several projects which leverage these techniques. First, we describe Dettrace, a deterministic container abstraction. Dettrace provides a containerized environment where any computation inside the container is guaranteed to be deterministic. Next, we describe ProcessCache implements a system for automatically caching results of process-level computations. ProcessCache automatically infers inputs and outputs to a program and will only re-execute a process if its inputs have changed. Otherwise, it skips unnecessary recomputation by using the cached results. Finally, Tivo combines lightweight determinism enforcement with record and replay to suppress certain types of thread-level nondeterminism. Finally, our future work proposes ChaOS, a fuzzing system for fault injection at system call sites. Lastly, we list key features and requirements for next generation program tracing and low-level process manipulation. | |
dc.description.degree | Doctor of Philosophy (PhD) | |
dc.extent | 107 | |
dc.identifier.uri | https://repository.upenn.edu/handle/20.500.14332/59746 | |
dc.language.iso | en | |
dc.subject | Library and Information Science | |
dc.subject.other | Linux Programming Interface | |
dc.subject.other | Operating Systems | |
dc.subject.other | Process Manipulation | |
dc.subject.other | System Call | |
dc.subject.other | System Call Interposition | |
dc.subject.other | Systems Programming | |
dc.title | LEVERAGING SYSTEM CALL INTERPOSITION FOR LOW-LEVEL PROCESS MANIPULATION | |
dc.type | Dissertation/Thesis | |
dspace.date.proquestEmbargo | ||
dspace.entity.type | Publication | |
upenn.graduate.group | Computer and Information Science |