No description, website, or topics provided.
C++ C LLVM Assembly Python Objective-C Other
Latest commit 3211f28 Nov 24, 2015 @multics69 multics69 fix typo
Permalink
Failed to load latest commit information.
analyzer SOSP'15 version Nov 24, 2015
bin SOSP'15 version Nov 24, 2015
config SOSP'15 version Nov 24, 2015
llvm SOSP'15 version Nov 24, 2015
scripts SOSP'15 version Nov 24, 2015
unittest-bugs SOSP'15 version Nov 24, 2015
Makefile SOSP'15 version Nov 24, 2015
README.md fix typo Nov 24, 2015

README.md

Juxta: Cross-checking Semantic Correctness for File Systems

Environments

  • Tested: Ubuntu 14.04
  • Requisite
Linux kernel 4.0-rc2
$ cd ..
$ git clone https://github.com/torvalds/linux.git
$ cd linux
$ git checkout v4.0-rc2
$ cp ../juxta/config/config-x86_64-full-fs .
$ make; make clean
$ cd ../juxta
  • How to build
Build clang
$  make clang-full  (first time only)
$  make clang       (from the next)
  • How to create path databases
Merge file system code
$ cd analyzer
$ ./ctrl.py merge_all  (for all file systems)
$ ./ctrl.py merge ext4 (for ext4)

Static analysis of merged file system code
$ ./ctrl.py clang_all  (for all file systems)
$ ./ctrl.py clang ext4 (for ext4)

Create path database
$ ./ctrl.py pickle_all (for all file systems)
$ cd ..

Juxta checkers

  • Return code checker: analyzer/ckrtn.py
  • Side-effect checker: analyzer/ckstore.py
  • Function call checker: analyzer/ckcall.py
  • Path condition checker: analyzer/ckcond.py
  • Argument checker: analyzer/call_flags.py
  • Error handling checker: analyzer/ckapi.py
  • Lock checker: analyzer/lock.py
  • Spec. generator: analyzer/spec.py

Authors

Publications

  • Paper on Juxta
Cross-checking Semantic Correctness: The Case of Finding File System Bugs
Changwoo Min, Sanidhya Kashyap, Byoungyoung Lee, Chengyu Song, and Taesoo Kim
SOSP 2015

@inproceedings{min:juxta,
  title        = {{Cross-checking Semantic Correctness: The Case of Finding File System Bugs}},
  author       = {Changwoo Min and Sanidhya Kashyap and Byoungyoung Lee and Chengyu Song and Taesoo Kim},
  booktitle    = {Proceedings of the 25th ACM Symposium on Operating Systems Principles (SOSP)},
  month        = oct,
  year         = 2015,
  address      = {Monterey, CA},
}