wcventure / period Goto Github PK
View Code? Open in Web Editor NEW[ICSE 2022] Controlled Concurrency Testing via Periodical Scheduling
Home Page: https://sites.google.com/view/period-cct/
License: MIT License
[ICSE 2022] Controlled Concurrency Testing via Periodical Scheduling
Home Page: https://sites.google.com/view/period-cct/
License: MIT License
Hi, there.
Period is an inspiring work. Unfortunately, when we are running the experiment for FFmpeg, we find there is error in the static analysis framework.
To reproduce this error, run:
$ROOT_DIR/tool/staticAnalysis.sh ffmpeg
Here is the error message:
opt: prototype/PERIOD/clang+llvm/include/llvm/Support/Casting.h:105: static bool llvm::isa_impl_cl<llvm::Instruction, const llvm::Value *>::doit(const From *) [To = llvm::Instruction, From = const llvm::Value *]: Assertion `Val && "isa<> used on a null pointer"' failed.
Stack dump:
0. Program arguments: opt -load prototype/PERIOD/tool/staticAnalysis/LLVM-PASS/SensitiveOperationsPass/libSensitiveOperationsPass.so -so ./ffmpeg.bc -o /dev/null
1. Running pass 'SensitiveOperations Instrumentation' on module './ffmpeg.bc'.
#0 0x0000000001f11504 PrintStackTraceSignalHandler(void*) (prototype/PERIOD/clang+llvm/bin/opt+0x1f11504)
#1 0x0000000001f0f2ee llvm::sys::RunSignalHandlers() (prototype/PERIOD/clang+llvm/bin/opt+0x1f0f2ee)
#2 0x0000000001f118f5 SignalHandler(int) (prototype/PERIOD/clang+llvm/bin/opt+0x1f118f5)
#3 0x00007f6df0cc1420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
#4 0x00007f6df077200b raise (/lib/x86_64-linux-gnu/libc.so.6+0x4300b)
#5 0x00007f6df0751859 abort (/lib/x86_64-linux-gnu/libc.so.6+0x22859)
#6 0x00007f6df0751729 (/lib/x86_64-linux-gnu/libc.so.6+0x22729)
#7 0x00007f6df0762fd6 (/lib/x86_64-linux-gnu/libc.so.6+0x33fd6)
#8 0x00007f6df0722ee0 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.tcc:212:4
#9 0x00007f6df0722ee0 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char const*>(char const*, char const*, std::__false_type) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.h:251:11
#10 0x00007f6df0722ee0 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.h:270:4
#11 0x00007f6df0722ee0 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) /usr/lib/gcc/x86_64-linux-gnu/9/../../../../include/c++/9/bits/basic_string.h:531:9
#12 0x00007f6df0722ee0 (anonymous namespace)::SensitiveOperations::runOnModule(llvm::Module&) prototype/PERIOD/tool/staticAnalysis/LLVM-PASS/SensitiveOperationsPass/SensitiveOperationsPass.cpp:580:52
#13 0x00000000019528f8 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/prototype/PERIOD/clang+llvm/bin/opt+0x19528f8)
#14 0x000000000074d9c8 main (/prototype/PERIOD/clang+llvm/bin/opt+0x74d9c8)
#15 0x00007f6df0753083 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24083)
#16 0x000000000073a1da _start (prototype/PERIOD/clang+llvm/bin/opt+0x73a1da)
prototype/PERIOD/tool/staticAnalysis/staticAnalysis.sh: line 47: 823029 Aborted opt -load $ROOT_DIR/tool/staticAnalysis/LLVM-PASS/SensitiveOperationsPass/libSensitiveOperationsPass.so -so ./$NAME.bc -o /dev/null > so.$NAME
Here is the binary for analysis:
Hi, there.
There is a segmentation fault raised when instrumenting the result from SVF.
I notice that there is a modification in your code already tackling this issue. Is there any further modification for this problem?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.