├── LICENSE ├── README.md ├── benchmark ├── conf_motivating_example ├── conf_t0_basic_taint_path ├── conf_t1_pto_mem_ssa ├── conf_t2_taint_mem_ssa ├── conf_t3_NN_update ├── conf_test_imp_share ├── conf_test_switch_sensitivity ├── exp_mem_ssa.c ├── gen-O0-mem2reg.sh ├── gen.sh ├── motivating_example.c ├── t0_basic_taint_path.c ├── t1_pto_mem_ssa.c ├── t2_taint_mem_ssa.c ├── t3_NN_update.c ├── test_glob_init.c ├── test_imp_share.c ├── test_switch_sensitivity.c ├── test_type_info.c └── test_vanilla_taint_kill.c ├── docs ├── overview.md └── suture-ccs21.pdf ├── ext_warns.py ├── ext_warns.sh ├── ext_warns_raw.py ├── flt_warns.py ├── llvm_analysis ├── AnalysisHelpers │ ├── EntryPointIdentifier │ │ ├── build.sh │ │ ├── entry_point_identifier.py │ │ └── src │ │ │ └── main.cpp │ └── build.sh ├── MainAnalysisPasses │ ├── CMakeLists.txt │ ├── Customizations │ │ ├── CMakeLists.txt │ │ ├── include │ │ │ └── FunctionChecker.h │ │ └── src │ │ │ └── FunctionChecker.cpp │ ├── LinuxKernelCustomizations │ │ ├── CMakeLists.txt │ │ ├── include │ │ │ └── KernelFunctionChecker.h │ │ └── src │ │ │ └── KernelFunctionChecker.cpp │ ├── RangeAnalysis │ │ ├── CMakeLists.txt │ │ ├── include │ │ │ ├── RangeAnalysis.h │ │ │ └── vSSA.h │ │ └── src │ │ │ ├── RangeAnalysis.cpp │ │ │ └── vSSA.cpp │ ├── SoundyAliasAnalysis │ │ ├── CMakeLists.txt │ │ ├── include │ │ │ ├── AliasAnalysisVisitor.h │ │ │ ├── AliasFuncHandlerCallback.h │ │ │ ├── AliasObject.h │ │ │ ├── GlobalVisitor.h │ │ │ ├── ModuleState.h │ │ │ ├── PathAnalysisVisitor.h │ │ │ ├── PointsToUtils.h │ │ │ ├── TaintAnalysisVisitor.h │ │ │ ├── TaintInfo.h │ │ │ ├── TaintUtils.h │ │ │ ├── VisitorCallback.h │ │ │ └── bug_detectors │ │ │ │ ├── BugDetectorDriver.h │ │ │ │ ├── ImproperTaintedDataUseDetector.h │ │ │ │ ├── IntegerOverflowDetector.h │ │ │ │ ├── TaintedLoopBoundDetector.h │ │ │ │ ├── TaintedPointerDereference.h │ │ │ │ └── warnings │ │ │ │ ├── ImproperTaintedDataUseWarning.h │ │ │ │ └── VulnerabilityWarning.h │ │ └── src │ │ │ ├── AliasAnalysisVisitor.cpp │ │ │ ├── AliasFuncHandlerCallback.cpp │ │ │ ├── AliasObject.cpp │ │ │ ├── GlobalVisitor.cpp │ │ │ ├── PathAnalysisVisitor.cpp │ │ │ ├── PointsToUtils.cpp │ │ │ ├── SoundyAliasAnalysis.cpp │ │ │ ├── TaintAnalysisVisitor.cpp │ │ │ ├── TaintUtils.cpp │ │ │ └── bug_detectors │ │ │ ├── BugDetectorDriver.cpp │ │ │ ├── ImproperTaintedDataUseDetector.cpp │ │ │ ├── IntegerOverflowDetector.cpp │ │ │ ├── TaintedLoopBoundDetector.cpp │ │ │ ├── TaintedPointerDereference.cpp │ │ │ └── warnings │ │ │ ├── ImproperTaintedDataUseWarning.cpp │ │ │ └── VulnerabilityWarning.cpp │ ├── Utils │ │ ├── CMakeLists.txt │ │ ├── include │ │ │ ├── CFGUtils.h │ │ │ ├── Constraint.h │ │ │ ├── InstructionUtils.h │ │ │ └── json.hpp │ │ └── src │ │ │ ├── CFGUtils.cpp │ │ │ ├── Constraint.cpp │ │ │ └── InstructionUtils.cpp │ ├── build.sh │ ├── build_cpp11.sh │ ├── debug_switch.py │ └── z3 │ │ ├── LICENSE.txt │ │ ├── bin │ │ ├── libz3.a │ │ ├── libz3.so │ │ └── z3 │ │ └── include │ │ ├── z3++.h │ │ ├── z3.h │ │ ├── z3_algebraic.h │ │ ├── z3_api.h │ │ ├── z3_ast_containers.h │ │ ├── z3_fixedpoint.h │ │ ├── z3_fpa.h │ │ ├── z3_macros.h │ │ ├── z3_optimization.h │ │ ├── z3_polynomial.h │ │ ├── z3_rcf.h │ │ ├── z3_spacer.h │ │ ├── z3_v1.h │ │ └── z3_version.h └── build.sh ├── log_slicer.py ├── run_nohup.sh ├── setup_suture.py └── time_analyzer.py /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/README.md -------------------------------------------------------------------------------- /benchmark/conf_motivating_example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/benchmark/conf_motivating_example -------------------------------------------------------------------------------- /benchmark/conf_t0_basic_taint_path: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/benchmark/conf_t0_basic_taint_path -------------------------------------------------------------------------------- /benchmark/conf_t1_pto_mem_ssa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/benchmark/conf_t1_pto_mem_ssa -------------------------------------------------------------------------------- /benchmark/conf_t2_taint_mem_ssa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/benchmark/conf_t2_taint_mem_ssa -------------------------------------------------------------------------------- /benchmark/conf_t3_NN_update: -------------------------------------------------------------------------------- 1 | ioctl0 MY_IOCTL 0 2 | -------------------------------------------------------------------------------- /benchmark/conf_test_imp_share: -------------------------------------------------------------------------------- 1 | ioctl0 MY_IOCTL 1 2 | ioctl1 NULL_ARG 3 | * XENTRY_SHARED_OBJ data1 4 | -------------------------------------------------------------------------------- /benchmark/conf_test_switch_sensitivity: -------------------------------------------------------------------------------- 1 | ioctl0 MY_IOCTL 0_1 2 | -------------------------------------------------------------------------------- /benchmark/exp_mem_ssa.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/benchmark/exp_mem_ssa.c -------------------------------------------------------------------------------- /benchmark/gen-O0-mem2reg.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/benchmark/gen-O0-mem2reg.sh -------------------------------------------------------------------------------- /benchmark/gen.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/benchmark/gen.sh -------------------------------------------------------------------------------- /benchmark/motivating_example.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/benchmark/motivating_example.c -------------------------------------------------------------------------------- /benchmark/t0_basic_taint_path.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/benchmark/t0_basic_taint_path.c -------------------------------------------------------------------------------- /benchmark/t1_pto_mem_ssa.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/benchmark/t1_pto_mem_ssa.c -------------------------------------------------------------------------------- /benchmark/t2_taint_mem_ssa.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/benchmark/t2_taint_mem_ssa.c -------------------------------------------------------------------------------- /benchmark/t3_NN_update.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/benchmark/t3_NN_update.c -------------------------------------------------------------------------------- /benchmark/test_glob_init.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/benchmark/test_glob_init.c -------------------------------------------------------------------------------- /benchmark/test_imp_share.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/benchmark/test_imp_share.c -------------------------------------------------------------------------------- /benchmark/test_switch_sensitivity.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/benchmark/test_switch_sensitivity.c -------------------------------------------------------------------------------- /benchmark/test_type_info.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/benchmark/test_type_info.c -------------------------------------------------------------------------------- /benchmark/test_vanilla_taint_kill.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/benchmark/test_vanilla_taint_kill.c -------------------------------------------------------------------------------- /docs/overview.md: -------------------------------------------------------------------------------- 1 | TODO 2 | -------------------------------------------------------------------------------- /docs/suture-ccs21.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/docs/suture-ccs21.pdf -------------------------------------------------------------------------------- /ext_warns.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/ext_warns.py -------------------------------------------------------------------------------- /ext_warns.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/ext_warns.sh -------------------------------------------------------------------------------- /ext_warns_raw.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/ext_warns_raw.py -------------------------------------------------------------------------------- /flt_warns.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/flt_warns.py -------------------------------------------------------------------------------- /llvm_analysis/AnalysisHelpers/EntryPointIdentifier/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/AnalysisHelpers/EntryPointIdentifier/build.sh -------------------------------------------------------------------------------- /llvm_analysis/AnalysisHelpers/EntryPointIdentifier/entry_point_identifier.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/AnalysisHelpers/EntryPointIdentifier/entry_point_identifier.py -------------------------------------------------------------------------------- /llvm_analysis/AnalysisHelpers/EntryPointIdentifier/src/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/AnalysisHelpers/EntryPointIdentifier/src/main.cpp -------------------------------------------------------------------------------- /llvm_analysis/AnalysisHelpers/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/AnalysisHelpers/build.sh -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/CMakeLists.txt -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/Customizations/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/Customizations/CMakeLists.txt -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/Customizations/include/FunctionChecker.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/Customizations/include/FunctionChecker.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/Customizations/src/FunctionChecker.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/Customizations/src/FunctionChecker.cpp -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/LinuxKernelCustomizations/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/LinuxKernelCustomizations/CMakeLists.txt -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/LinuxKernelCustomizations/include/KernelFunctionChecker.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/LinuxKernelCustomizations/include/KernelFunctionChecker.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/LinuxKernelCustomizations/src/KernelFunctionChecker.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/LinuxKernelCustomizations/src/KernelFunctionChecker.cpp -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/RangeAnalysis/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/RangeAnalysis/CMakeLists.txt -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/RangeAnalysis/include/RangeAnalysis.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/RangeAnalysis/include/RangeAnalysis.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/RangeAnalysis/include/vSSA.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/RangeAnalysis/include/vSSA.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/RangeAnalysis/src/RangeAnalysis.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/RangeAnalysis/src/RangeAnalysis.cpp -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/RangeAnalysis/src/vSSA.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/RangeAnalysis/src/vSSA.cpp -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/CMakeLists.txt -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/AliasAnalysisVisitor.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/AliasAnalysisVisitor.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/AliasFuncHandlerCallback.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/AliasFuncHandlerCallback.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/AliasObject.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/AliasObject.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/GlobalVisitor.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/GlobalVisitor.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/ModuleState.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/ModuleState.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/PathAnalysisVisitor.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/PathAnalysisVisitor.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/PointsToUtils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/PointsToUtils.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/TaintAnalysisVisitor.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/TaintAnalysisVisitor.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/TaintInfo.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/TaintInfo.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/TaintUtils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/TaintUtils.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/VisitorCallback.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/VisitorCallback.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/bug_detectors/BugDetectorDriver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/bug_detectors/BugDetectorDriver.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/bug_detectors/ImproperTaintedDataUseDetector.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/bug_detectors/ImproperTaintedDataUseDetector.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/bug_detectors/IntegerOverflowDetector.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/bug_detectors/IntegerOverflowDetector.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/bug_detectors/TaintedLoopBoundDetector.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/bug_detectors/TaintedLoopBoundDetector.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/bug_detectors/TaintedPointerDereference.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/bug_detectors/TaintedPointerDereference.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/bug_detectors/warnings/ImproperTaintedDataUseWarning.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/bug_detectors/warnings/ImproperTaintedDataUseWarning.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/bug_detectors/warnings/VulnerabilityWarning.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/include/bug_detectors/warnings/VulnerabilityWarning.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/AliasAnalysisVisitor.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/AliasAnalysisVisitor.cpp -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/AliasFuncHandlerCallback.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/AliasFuncHandlerCallback.cpp -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/AliasObject.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/AliasObject.cpp -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/GlobalVisitor.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/GlobalVisitor.cpp -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/PathAnalysisVisitor.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/PathAnalysisVisitor.cpp -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/PointsToUtils.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/PointsToUtils.cpp -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/SoundyAliasAnalysis.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/SoundyAliasAnalysis.cpp -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/TaintAnalysisVisitor.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/TaintAnalysisVisitor.cpp -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/TaintUtils.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/TaintUtils.cpp -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/bug_detectors/BugDetectorDriver.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/bug_detectors/BugDetectorDriver.cpp -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/bug_detectors/ImproperTaintedDataUseDetector.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/bug_detectors/ImproperTaintedDataUseDetector.cpp -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/bug_detectors/IntegerOverflowDetector.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/bug_detectors/IntegerOverflowDetector.cpp -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/bug_detectors/TaintedLoopBoundDetector.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/bug_detectors/TaintedLoopBoundDetector.cpp -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/bug_detectors/TaintedPointerDereference.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/bug_detectors/TaintedPointerDereference.cpp -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/bug_detectors/warnings/ImproperTaintedDataUseWarning.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/bug_detectors/warnings/ImproperTaintedDataUseWarning.cpp -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/bug_detectors/warnings/VulnerabilityWarning.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/SoundyAliasAnalysis/src/bug_detectors/warnings/VulnerabilityWarning.cpp -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/Utils/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/Utils/CMakeLists.txt -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/Utils/include/CFGUtils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/Utils/include/CFGUtils.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/Utils/include/Constraint.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/Utils/include/Constraint.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/Utils/include/InstructionUtils.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/Utils/include/InstructionUtils.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/Utils/include/json.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/Utils/include/json.hpp -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/Utils/src/CFGUtils.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/Utils/src/CFGUtils.cpp -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/Utils/src/Constraint.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/Utils/src/Constraint.cpp -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/Utils/src/InstructionUtils.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/Utils/src/InstructionUtils.cpp -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/build.sh -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/build_cpp11.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | g++ -std=gnu++11 $1.cpp -o $1 4 | -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/debug_switch.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/debug_switch.py -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/z3/LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/z3/LICENSE.txt -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/z3/bin/libz3.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/z3/bin/libz3.a -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/z3/bin/libz3.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/z3/bin/libz3.so -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/z3/bin/z3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/z3/bin/z3 -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/z3/include/z3++.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/z3/include/z3++.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/z3/include/z3.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/z3/include/z3.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/z3/include/z3_algebraic.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/z3/include/z3_algebraic.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/z3/include/z3_api.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/z3/include/z3_api.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/z3/include/z3_ast_containers.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/z3/include/z3_ast_containers.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/z3/include/z3_fixedpoint.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/z3/include/z3_fixedpoint.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/z3/include/z3_fpa.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/z3/include/z3_fpa.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/z3/include/z3_macros.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/z3/include/z3_macros.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/z3/include/z3_optimization.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/z3/include/z3_optimization.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/z3/include/z3_polynomial.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/z3/include/z3_polynomial.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/z3/include/z3_rcf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/z3/include/z3_rcf.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/z3/include/z3_spacer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/z3/include/z3_spacer.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/z3/include/z3_v1.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/z3/include/z3_v1.h -------------------------------------------------------------------------------- /llvm_analysis/MainAnalysisPasses/z3/include/z3_version.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/MainAnalysisPasses/z3/include/z3_version.h -------------------------------------------------------------------------------- /llvm_analysis/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/llvm_analysis/build.sh -------------------------------------------------------------------------------- /log_slicer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/log_slicer.py -------------------------------------------------------------------------------- /run_nohup.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/run_nohup.sh -------------------------------------------------------------------------------- /setup_suture.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/setup_suture.py -------------------------------------------------------------------------------- /time_analyzer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seclab-ucr/SUTURE/HEAD/time_analyzer.py --------------------------------------------------------------------------------