Skip to content

mfkiwl/flexpret_project

 
 

Repository files navigation

Benefit of repeatable timing on time critical concurrent programs.

Abstract: The project aims to analyze the effect of repeatable timing on time critical concurrent programs. Repeatable timing ensures that the interleaving between programs is deterministic. Intuitively, if the interleaving is deterministic, then it is possible to ascertain the functions and variables which can be co-accessed. This helps in reducing the number of testcases required to detect the bug. The project looks at executing benchmarks with concurrent bugs and analyzing the effect of repeatable timing on these bugs. Further, using the constructs provided by the instruction set architecture we are able to fix some of these bugs. Another aspect of our project is evaluating an application under test(AUT) and detecting whether any concurrency bug exists. The project was performed on Flexpret, which is an open source softcore built on the riscv instruction set architecture. The multiple reader single writer problem was evaluated on flexpret and were able to observe the bug in the first iteration while it took us around 200 iterations on an average to find the same ordering violation bug in the riscv system.

About

Validating real time multithreaded applications on the flexpret architecture

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 43.9%
  • C 32.2%
  • Verilog 5.3%
  • Assembly 5.3%
  • HTML 3.9%
  • Python 2.6%
  • Other 6.8%