This repository holds the code and data discussed in my master's thesis "Leveraging DTrace for Runtime Verification" (forthcoming).
The repository is sorted according to the appendix in the thesis:
- B.1 - The faulty stack implementation
- B.2 - The generated monitor
- B.3 - Stack running x iterations
- B.4 - Stack with printf statements
- B.4.1 - Monitor for stack with printf statements
- B.5 - Stack with static probes
- B.5.1 - Monitor for stack with static probes
- B.5.2 - Probe specification script for stack with static probes
- B.5.3 - Generated probe header file for stack with static probes
- C.1 - The Node.js web server
- C.2 - The database schema
- C.3 - Generated monitor using counters
- C.3 - Generated monitor using counters
The graphviz2dtrace
source code is available from the dedicated graphviz2dtrace repository.
The version listed in the master's thesis is release 0.1.
All code and sample runs have been run on a MacBook Pro (Retina, 13-inch, Late 2013) with the following specs:
Model Name: MacBook Pro
Model Identifier: MacBookPro11,1
Processor Name: Intel Core i5
Processor Speed: 2,4 GHz
Number of Processors: 1
Total Number of Cores: 2
L2 Cache (per Core): 256 KB
L3 Cache: 3 MB
Memory: 8 GB
All code and sample runs have been run on Mac OS X El Capitan Version 10.11.4 with System Integrity Protection turned off to enable DTrace and all of its features.
$ dtrace -V
dtrace: Sun D 1.12.1
$ clang --version
Apple LLVM version 7.3.0 (clang-703.0.31)
Target: x86_64-apple-darwin15.4.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Node.js is compiled with homebrew.
$ node --version
v5.5.0
PostgreSQL is compiled with homebrew with the --with-dtrace
flag set.
$ postgres --version
postgres (PostgreSQL) 9.5.0
All code in this repository is distributed with the MIT license, see LICENSE
.