JCWIT: A Correctness-Witness Validator for Java Programs based on Bounded Model Checking
Witness validation is a formal verification method to independently verify software verification tool results, with two main categories: \textit{violation} and \textit{correctness} witness validators. Validators for violation witnesses in Java include \textit{Wit4Java} and \textit{GWIT}, but no dedicated correctness witness validators exist. To address this gap, this paper presents the Java Correctness-Witness Validator (JCWIT), the first tool to validate correctness witnesses in Java programs. JCWIT accepts an original program, a specification, and a correctness witness as inputs. Then, it uses invariants of each witness’s execution state as conditions to be incorporated into the original program in the form of assertions, thus instrumenting it. Next, JCWIT employs an established tool, Java Bounded Model Checker (JBMC), to verify the transformed program, hence examining the reproducibility of correct witness results. We evaluated JCWIT in the SV-COMP \textit{ReachSafety} benchmark, and the results show that JCWIT can correctly validate the correctness witnesses generated by Java verifiers.
Wed 18 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
13:30 - 15:00 | |||
13:30 12mTalk | Generalized Concurrency Testing Tool for Distributed Systems Tool Demonstrations Ege Berkay Gulcan Delft University of Technology, João Neto Delft University of Technology, Burcu Kulahcioglu Ozkan Delft University of Technology DOI Media Attached | ||
13:42 12mTalk | Testing concurrent algorithms on JVM with Lincheck and IntelliJ IDEADistinguished Tool Demo Award Tool Demonstrations Alexander Potapov JetBrains, Maksim Zuev JetBrains, Evgenii Moiseenko JetBrains Research, Nikita Koval JetBrains | ||
13:55 12mTalk | JCWIT: A Correctness-Witness Validator for Java Programs based on Bounded Model Checking Tool Demonstrations Zaiyu Cheng University of Manchester, Tong Wu University of Manchester, Peter Schrammel University of Sussex and Diffblue Ltd, Norbert Tihanyi Eotvos Lorand University, Eddie B. de Lima Filho TPV Technology, Lucas C. Cordeiro University of Manchester, UK and Federal University of Amazonas, Brazil | ||
14:08 12mTalk | ESBMC-Python: A Bounded Model Checker for Python Programs Tool Demonstrations Bruno Farias University of Manchester, Rafael Menezes University of Manchester, Eddie B. de Lima Filho TPV Technology, Youcheng Sun University of Manchester, Lucas C. Cordeiro University of Manchester, UK and Federal University of Amazonas, Brazil Media Attached | ||
14:21 12mTalk | Panda: A Concurrent Scheduler for Compiler-Based Tools Tool Demonstrations Xutong Ma Institute of Software, Chinese Academy of Sciences, Beijing, China, Jiwei Yan Institute of Software at Chinese Academy of Sciences, Jun Yan Institute of Software, Chinese Academy of Sciences, Jian Zhang Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences DOI Pre-print Media Attached | ||
14:34 12mTalk | SeeWasm: An Efficient and Fully-Functional Symbolic Execution Engine for WebAssembly Binaries Tool Demonstrations Ningyu He Peking University, Zhehao Zhao Peking University, Hanqin Guan Peking University, Jikai Wang Huazhong University of Science and Technology, Shreya Mathews IMC University of Applied Sciences Krems, Ding Li Peking University, Haoyu Wang Huazhong University of Science and Technology, Xiangqun Chen Peking University, Yao Guo Peking University | ||
14:47 12mTalk | PolyTracker: Whole-Input Dynamic Information Flow TracingDistinguished Tool Demo Award Tool Demonstrations Evan Sultanik Trail of Bits, Marek Surovič Trail of Bits, Henrik Brodin Trail of Bits, Kelly Kaoudis Trail of Bits, Facundo Tuesca Trail of Bits, Carson Harmon Trail of Bits, Lisa Overall Trail of Bits, Joseph Sweeney Trail of Bits, Bradford Larsen Trail of Bits |