LEVERAGING SYSTEM CALL INTERPOSITION FOR LOW-LEVEL PROCESS MANIPULATION

dc.contributor.advisorDevietti, Joseph, L
dc.contributor.authorNavarro Leija, Omar
dc.date.accessioned2024-03-19T19:03:47Z
dc.date.available2024-03-19T19:03:47Z
dc.date.copyright2022
dc.date.issued2022
dc.date.updated2024-03-19T19:03:48Z
dc.description2022
dc.description.abstractModern 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.degreeDoctor of Philosophy (PhD)
dc.extent107
dc.identifier.urihttps://repository.upenn.edu/handle/20.500.14332/59746
dc.language.isoen
dc.subjectLibrary and Information Science
dc.subject.otherLinux Programming Interface
dc.subject.otherOperating Systems
dc.subject.otherProcess Manipulation
dc.subject.otherSystem Call
dc.subject.otherSystem Call Interposition
dc.subject.otherSystems Programming
dc.titleLEVERAGING SYSTEM CALL INTERPOSITION FOR LOW-LEVEL PROCESS MANIPULATION
dc.typeDissertation/Thesis
dspace.date.proquestEmbargo
dspace.entity.typePublication
upenn.graduate.groupComputer and Information Science
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
NavarroLeija_upenngdas_0175C_15598.pdf
Size:
934.38 KB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
441 B
Format:
Item-specific license agreed to upon submission
Description: