Bow-Yaw Wang

dblp:36/6517 · DBLP profile ↗
← Back
60ranked-venue papers
5as first author
11since 2021 · last 2026
0000-0002-5757-545XORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 45 · 4 first-author · 6 since 2021Theory of computation · 20 · 1 first-author · 5 since 2021Security and privacy · 6 · 3 since 2021Artificial intelligence and machine learning · 2 · 1 first-authorComputer networks · 1 · 1 first-author
YearPublicationVenuePosition
2026 Accelerating and verifying constant-time modular inversion
Daniel J. Bernstein, Han-Ting Chen, John Harrison 0001, Cesare Huang, Gregory Maxwell, Bow-Yaw Wang, Pieter Wuille, Bo-Yin Yang
EUROCRYPT (7)6
2025 Jazzline: Composable CryptoLine Functional Correctness Proofs for Jasmin Programs
abstract
Jasmin is a programming language for high-speed and high-assurance cryptography. Correctness proofs of Jasmin programs are typically carried out deductively in EasyCrypt. This allows generality, modularity and composable reasoning, but does not scale well for low-level architecture-specific routines. CryptoLine offers a semi-automatic approach to formally verify algebraically-rich low-level cryptographic routines. CryptoLine proofs are self-contained: they are not integrated into higher-level formal verification developments. This paper shows how to soundly use CryptoLine to discharge subgoals in functional correctness proofs for complex Jasmin programs. We extend Jasmin with annotations and provide an automatic translation into a CryptoLine model, where most complex transformations are certified. We also formalize and implement the automatic extraction of the semantics of a CryptoLine proof to EasyCrypt. Our motivating use-case is the X-Wing hybrid KEM, for which we present the first formally verified implementation.
José Bacelar Almeida, Manuel Barbosa, Gilles Barthe, Lionel Blatter, Gustavo Xavier Delerue Marinho Alves, João Diogo Duarte, Benjamin Grégoire, Tiago Oliveira 0004, Miguel Quaresma, Pierre-Yves Strub, Ming-Hsien Tsai 0001, Bow-Yaw Wang, Bo-Yin Yang
CCS12
2025 Parameterized Hardware Verification Through A Term-level Generalized Symbolic Trajectory Evaluation And Its Linkage With Concrete Hardware Verification At Netlist Level
abstract
This article proposes a term-level generalized symbolic trajectory evaluation (GSTE) to tackle parameterized hardware verification. We develop a theorem-proving technique for parameterized GSTE verification. In our technique, a constraint is associated with a node in GSTE graphs to specify reachable states. Generalized inductive relations between nodes of GSTE graphs are formulated; instantaneous implications are formalized on the edges of GSTE graphs. Based on this formalization, parameterized GSTE are verified. We moreover formalize our techniques in Isabelle. Furthermore, once a parametrized design is verified at the term level, we can convert the generally parameterized invariants into concrete ones, which can be used to verify a synthesized netlist of an instance of the parameterized design at the Boolean level. We demonstrate the effectiveness of our techniques in case studies. Interestingly, subtleties between different implementations of FIFOs are discovered by our parameterized verification, although these circuits have been extensively studied previously.
Zhenghai Cai, Bow-Yaw Wang
Formal Aspects Comput.3
2024 Automatic Verification of Cryptographic Block Function Implementations with Logical Equivalence Checking
Li-Chang Lai, Jiaxiang Liu 0001, Xiaomu Shi, Ming-Hsien Tsai 0001, Bow-Yaw Wang, Bo-Yin Yang
ESORICS (4)5
2024 Formal Analysis of FreeRTOS Scheduler on ARM Cortex-M4 Cores
Chen-Kai Lin, Bow-Yaw Wang
ICFEM2
2023 Certified Verification for Algebraic Abstraction
abstract
Abstract We present a certified algebraic abstraction technique for verifying bit-accurate non-linear integer computations. In algebraic abstraction, programs are lifted to polynomial equations in the abstract domain. Algebraic techniques are employed to analyze abstract polynomial programs; SMT QF_BV solvers are adopted for bit-accurate analysis of soundness conditions. We explain how to verify our abstraction algorithm and certify verification results. Our hybrid technique has verified non-linear computations in various security libraries such as Bitcoin and OpenSSL. We also report the certified verification of Number-Theoretic Transform programs from the post-quantum cryptosystem Kyber.
Ming-Hsien Tsai 0001, Yu-Fu Fu, Jiaxiang Liu 0001, Xiaomu Shi, Bow-Yaw Wang, Bo-Yin Yang
CAV (3)5
2023 CoqCryptoLine: A Verified Model Checker with Certified Results
abstract
Abstract We present the verified model checker CoqCryptoLine for cryptographic programs with certified verification results. The CoqCryptoLine verification algorithm consists of two reductions. The algebraic reduction transforms into a root entailment problem; and the bit-vector reduction transforms into an SMTQF_BV problem. We specify and verify both reductions formally using Coq with MathComp. The CoqCryptoLine tool is built on the OCaml programs extracted from verified reductions. CoqCryptoLine moreover employs certified techniques for solving the algebraic and logic problems. We evaluate CoqCryptoLine on cryptographic programs from industrial security libraries.
Ming-Hsien Tsai 0001, Yu-Fu Fu, Jiaxiang Liu 0001, Xiaomu Shi, Bow-Yaw Wang, Bo-Yin Yang
CAV (2)5
2023 llvm2CryptoLine: Verifying Arithmetic in Cryptographic C Programs
abstract
Correct implementations of cryptographic primitives are essential for modern security. These implementations often contain arithmetic operations involving non-linear computations that are infamously hard to verify. We present llvm2CryptoLine, an automated formal verification tool for arithmetic operations in cryptographic C programs. llvm2CryptoLine successfully verifies 51 arithmetic C programs from industrial cryptographic libraries OpenSSL, wolfSSL and NaCl. Most of the programs are verified fully automatically and efficiently. A screencast that showcases llvm2CryptoLine can be found at https://youtu.be/QXuSmja45VA. Source code is available at https://github.com/fmlab-iis/llvm2cryptoline.
Ruiling Chen, Jiaxiang Liu 0001, Xiaomu Shi, Ming-Hsien Tsai 0001, Bow-Yaw Wang, Bo-Yin Yang
ESEC/SIGSOFT FSE5
2023 Model checking differentially private properties
Depeng Liu, Bow-Yaw Wang, Lijun Zhang 0001
Theor. Comput. Sci.2
2022 Verifying Pufferfish Privacy in Hidden Markov Models
Depeng Liu, Bow-Yaw Wang, Lijun Zhang 0001
VMCAI2
2021 CoqQFBV: A Scalable Certified SMT Quantifier-Free Bit-Vector Solver
abstract
Abstract We present a certified SMT QF_BV solver CoqQFBV built from a verified bit blasting algorithm, Kissat, and the verified SAT certificate checker GratChk in this paper. Our verified bit blasting algorithm supports the full QF_BV logic of SMT-LIB; it is specified and formally verified in the proof assistant Coq . We compare CoqQFBV with CVC4, Bitwuzla, and Boolector on benchmarks from the QF_BV division of the single query track in the 2020 SMT Competition, and real-world cryptographic program verification problems. CoqQFBV surprisingly solves more program verification problems with certification than the 2020 SMT QF_BV division winner Bitwuzla without certification.
Xiaomu Shi, Yu-Fu Fu, Jiaxiang Liu 0001, Ming-Hsien Tsai 0001, Bow-Yaw Wang, Bo-Yin Yang
CAV (2)5
2020 Interval counterexamples for loop invariant learning
abstract
Loop invariant generation has long been a challenging problem. Black-box learning has recently emerged as a promising method for inferring loop invariants. However, the performance depends heavily on the quality of collected examples. In many cases, only after tens or even hundreds of constraint queries, can a feasible invariant be successfully inferred.
Rongchen Xu, Fei He 0001, Bow-Yaw Wang
ESEC/SIGSOFT FSE3
2020 Incremental predicate analysis for regression verification
abstract
Software products are evolving during their life cycles. Ideally, every revision need be formally verified to ensure software quality. Yet repeated formal verification requires significant computing resources. Verifying each and every revision can be very challenging. It is desirable to ameliorate regression verification for practical purposes. In this paper, we regard predicate analysis as a process of assertion annotation. Assertion annotations can be used as a certificate for the verification results. It is thus a waste of resources to throw them away after each verification. We propose to reuse the previously-yielded assertion annotation in regression verification. A light-weight impact-analysis technique is proposed to analyze the reusability of assertions. A novel assertion strengthening technique is furthermore developed to improve reusability of annotation. With these techniques, we present an incremental predicate analysis technique for regression verification. Correctness of our incremental technique is formally proved. We performed comprehensive experiments on revisions of Linux kernel device drivers. Our technique outperforms the state-of-the-art program verification tool CPAchecker by getting 2.8x speedup in total time and solving additional 393 tasks.
Qianshan Yu, Fei He 0001, Bow-Yaw Wang
Proc. ACM Program. Lang.3
2019 Signed Cryptographic Program Verification with Typed CryptoLine
abstract
We develop an automated formal technique to specify and verify signed computation in cryptographic programs. In addition to new instructions, we introduce a type system to detect type errors in programs. A type inference algorithm is also provided to deduce types and instruction variants in cryptographic programs. In order to verify signed cryptographic C programs, we develop a translator from the GCC intermediate representation to our language. Using our technique, we have verified 82 C functions in cryptography libraries including NaCl, wolfSSL, bitcoin, OpenSSL, and BoringSSL.
Yu-Fu Fu, Jiaxiang Liu 0001, Xiaomu Shi, Ming-Hsien Tsai 0001, Bow-Yaw Wang, Bo-Yin Yang
CCS5
2019 Parameterized Hardware Verification Through a Term-Level Generalized Symbolic Trajectory Evaluation
Bow-Yaw Wang
ICFEM2
2019 Verifying Arithmetic in Cryptographic C Programs
abstract
Cryptographic primitives are ubiquitous for modern security. The correctness of their implementations is crucial to resist malicious attacks. Typical arithmetic computation of these C programs contains large numbers of non-linear operations, hence is challenging existing automatic C verification tools. We present an automated approach to verify cryptographic C programs. Our approach successfully verifies C implementations of various arithmetic operations used in NIST P-224, P-256, P-521 and Curve25519 in OpenSSL. During verification, we expose a bug and a few anomalies that have been existing for a long time. They have been reported to and confirmed by the OpenSSL community. Our results establish the functional correctness of these C implementations for the first time.
Jiaxiang Liu 0001, Xiaomu Shi, Ming-Hsien Tsai 0001, Bow-Yaw Wang, Bo-Yin Yang
ASE4
2018 Model Checking Differentially Private Properties
Depeng Liu, Bow-Yaw Wang, Lijun Zhang 0001
APLAS2
2018 Verifying Arithmetic Assembly Programs in Cryptographic Primitives (Invited Talk)
abstract
Arithmetic over large finite fields is indispensable in modern cryptography. For efficienty, these operations are often implemented in manually optimized assembly programs. Since these arithmetic assembly programs necessarily perform lots of non-linear computation, checking their correctness is a challenging verification problem. We develop techniques to verify such programs automatically in this paper. Using our techniques, we have successfully verified a number of assembly programs in OpenSSL. Moreover, our tool verifies the boringSSL Montgomery Ladderstep (about 1400 assembly instructions) in 1 hour. This is by far the fastest verification technique for such programs.
Andy Polyakov, Ming-Hsien Tsai 0001, Bow-Yaw Wang, Bo-Yin Yang
CONCUR3
2017 Certified Verification of Algebraic Properties on Low-Level Mathematical Constructs in Cryptographic Programs
abstract
Mathematical constructs are necessary for computation on the underlying algebraic structures of cryptosystems. They are often written in assembly language and optimized manually for efficiency. We develop a certified technique to verify low-level mathematical constructs in X25519, the default elliptic curve Diffie-Hellman key exchange protocol used in OpenSSH. Our technique translates an algebraic specification of mathematical constructs into an algebraic problem. The algebraic problem in turn is solved by the computer algebra system Singular. The proof assistant Coq certifies the translation and solution to algebraic problems. Specifications about output ranges and potential program overflows are translated to SMT problems and verified by SMT solvers. We report our case studies on verifying arithmetic computation over a large finite field and the Montgomery Ladderstep, a crucial loop in X25519.
Ming-Hsien Tsai 0001, Bow-Yaw Wang, Bo-Yin Yang
CCS2
2017 Releasing VDM proof obligations with SMT solvers
abstract
The Vienna Development Method (VDM) is a formal method that supports modeling and analysis of software systems at various levels of abstractions. For a model specified by the VDM specification language (VDM-SL), the correctness of the model relies on discharging the proof obligations (POs), especially in the case of implicit specifications. In this paper, we propose an approach that encodes and discharges POs of VDM-SL models using SMT solvers. More specifically, POs generated by the Overture tool are encoded and discharged in the Z3 SMT solver. Our case studies showed that the approach can discharge significant part of proof obligations of a VDM-SL model efficiently.
Hsin-Hung Lin, Bow-Yaw Wang
MEMOCODE2
2016 Learning-Based Assume-Guarantee Regression Verification
Fei He 0001, Shu Mao, Bow-Yaw Wang
CAV (1)3
2016 PAC learning-based verification and model synthesis
abstract
We introduce a novel technique for verification and model synthesis of sequential programs. Our technique is based on learning an approximate regular model of the set of feasible paths in a program, and testing whether this model contains an incorrect behavior. Exact learning algorithms require checking equivalence between the model and the program, which is a difficult problem, in general undecidable. Our learning procedure is therefore based on the framework of probably approximately correct (PAC) learning, which uses sampling instead, and provides correctness guarantees expressed using the terms error probability and confidence. Besides the verification result, our procedure also outputs the model with the said correctness guarantees. Obtained preliminary experiments show encouraging results, in some cases even outperforming mature software verifiers.
Yu-Fang Chen 0001, Chiao Hsieh, Ondrej Lengál, Tsung-Ju Lii, Ming-Hsien Tsai 0001, Bow-Yaw Wang, Farn Wang
ICSE6
2016 Optimal sanitization synthesis for web application vulnerability repair
abstract
We present a code- and input-sensitive sanitization synthesis approach for repairing string vulnerabilities that are common in web applications. The synthesized sanitization patch modifies the user input in an optimal way while guaranteeing that the repaired web application is not vulnerable. Given a web application, an input pattern and an attack pattern, we use automata-based static string analysis techniques to compute a sanitization signature that characterizes safe input values that obey the given input pattern and are safe with respect to the given attack pattern. Using the sanitization signature, we synthesize an optimal sanitization patch that converts malicious user inputs to benign ones with minimal editing. When the generated patch is added to the web application, it is guaranteed that the repaired web application is no longer vulnerable. We present refinements to previous sanitization synthesis algorithms that reduce the runtime sanitization cost significantly. We evaluate our approach on open source web applications using common input and attack patterns, demonstrating the effectiveness of our approach.
Fang Yu 0001, Ching-Yuan Shueh, Chun-Han Lin, Yu-Fang Chen 0001, Bow-Yaw Wang, Tevfik Bultan
ISSTA5
2016 Learning Weighted Assumptions for Compositional Verification of Markov Decision Processes
abstract
Probabilistic models are widely deployed in various systems. To ensure their correctness, verification techniques have been developed to analyze probabilistic systems. We propose the first sound and complete learning-based compositional verification technique for probabilistic safety properties on concurrent systems where each component is an Markov decision process. Different from previous works, weighted assumptions are introduced to attain completeness of our framework. Since weighted assumptions can be implicitly represented by multiterminal binary decision diagrams (MTBDDs), we give an >i /i<*-based learning algorithm for MTBDDs to infer weighted assumptions. Experimental results suggest promising outlooks for our compositional technique.
Fei He 0001, Miaofei Wang, Bow-Yaw Wang, Lijun Zhang 0001
ACM Trans. Softw. Eng. Methodol.4
2015 Counterexample-Guided Polynomial Loop Invariant Generation by Lagrange Interpolation
Yu-Fang Chen 0001, Chih-Duo Hong, Bow-Yaw Wang, Lijun Zhang 0001
CAV (1)3
2015 Leveraging Weighted Automata in Compositional Reasoning about Concurrent Probabilistic Systems
abstract
We propose the first sound and complete learning-based compositional verification technique for probabilistic safety properties on concurrent systems where each component is an Markov decision process. Different from previous works, weighted assumptions are introduced to attain completeness of our framework. Since weighted assumptions can be implicitly represented by multi-terminal binary decision diagrams (MTBDD's), we give an L*-based learning algorithm for MTBDD's to infer weighted assumptions. Experimental results suggest promising outlooks for our compositional technique.
Fei He 0001, Bow-Yaw Wang, Lijun Zhang 0001
POPL3
2015 Commutativity of Reducers
Yu-Fang Chen 0001, Chih-Duo Hong, Nishant Sinha 0001, Bow-Yaw Wang
TACAS4
2015 CPArec: Verifying Recursive Programs via Source-to-Source Program Transformation - (Competition Contribution)
Yu-Fang Chen 0001, Chiao Hsieh, Ming-Hsien Tsai 0001, Bow-Yaw Wang, Farn Wang
TACAS4
2015 Automatically inferring loop invariants via algorithmic learning
abstract
By combining algorithmic learning, decision procedures, predicate abstraction and simple templates for quantified formulae, we present an automated technique for finding loop invariants. Theoretically, this technique can find arbitrary first-order invariants (modulo a fixed set of atomic propositions and an underlying satisfiability modulo theories solver) in the form of the given template and exploit the flexibility in invariants by a simple randomized mechanism. In our study, the proposed technique was able to find quantified invariants for loops from the Linux source and other realistic programs. Our contribution is a simpler technique than the previous works yet with a reasonable derivation power.
Yungbum Jung, Soonho Kong, Cristina David, Bow-Yaw Wang, Kwangkeun Yi
Math. Struct. Comput. Sci.4
2014 Learning Summaries of Recursive Functions
abstract
We describe a learning-based approach for verifying recursive functions. The Boolean formula learning algorithm CDNF is used to automatically infer function summaries for recursive functions. In contrast to traditional iterative fix point computation-based approaches, ours can quickly guess summaries and verify purported summaries. When purported summaries are incorrect, the learning algorithm refines them by posing queries. We solve examples that are unattainable by a mature model checker for recursive programs.
Yu-Fang Chen 0001, Bow-Yaw Wang, Kai-Chun Yang
APSEC (1)2
2014 Verifying Curve25519 Software
abstract
This paper presents results on formal verification of high-speed cryptographic software. We consider speed-record-setting hand-optimized assembly software for Curve25519 elliptic-curve key exchange presented by Bernstein et al. at CHES 2011. Two versions for different microarchitectures are available. We successfully verify the core part of the computation, and reproduce detection of a bug in a previously published edition. An SMT solver supporting array and bit-vector theories is used to establish almost all properties. Remaining properties are verified in a proof assistant with simple rewrite tactics. We also exploit the compositionality of Hoare logic to address the scalability issue. Essential differences between both versions of the software are discussed from a formal-verification perspective.
Yu-Fang Chen 0001, Chang-Hong Hsu, Hsin-Hung Lin, Peter Schwabe, Ming-Hsien Tsai 0001, Bow-Yaw Wang, Bo-Yin Yang, Shang-Yi Yang
CCS6
2014 Symbolic assume-guarantee reasoning through BDD learning
abstract
Both symbolic model checking and assume-guarantee reasoning aim to circumvent the state explosion problem. Symbolic model checking explores many states simultaneously and reports numerous erroneous traces. Automated assume-guarantee reasoning, on the other hand, infers contextual assumptions by inspecting spurious erroneous traces. One would expect that their integration could further improve the capacity of model checking. Yet examining numerous erroneous traces to deduce contextual assumptions can be very time-consuming. The integration of symbolic model checking and assume-guarantee reasoning is thus far from clear. In this paper, we present a progressive witness analysis algorithm for automated assume-guarantee reasoning to exploit a multitude of traces from BDD-based symbolic model checkers. Our technique successfully integrates symbolic model checking with automated assume-guarantee reasoning by directly inferring BDD's as implicit assumptions. It outperforms monolithic symbolic model checking in four benchmark problems and an industrial case study in experiments.
Fei He 0001, Bow-Yaw Wang, Liangze Yin
ICSE2
2014 Verifying Recursive Programs Using Intraprocedural Analyzers
Yu-Fang Chen 0001, Chiao Hsieh, Ming-Hsien Tsai 0001, Bow-Yaw Wang, Farn Wang
SAS4
2014 Array Theory of Bounded Elements and its Applications
Min Zhou 0001, Fei He 0001, Bow-Yaw Wang, Ming Gu 0001, Jia-Guang Sun 0001
J. Autom. Reason.3
2013 VCS: A Verifier for Component-Based Systems
Fei He 0001, Liangze Yin, Bow-Yaw Wang, Lianyi Zhang, Guanyu Mu, Wenrui Meng
ATVA3
2013 BULL: A Library for Learning Algorithms of Boolean Functions
Yu-Fang Chen 0001, Bow-Yaw Wang
TACAS2
2012 Learning Boolean Functions Incrementally
Yu-Fang Chen 0001, Bow-Yaw Wang
CAV2
2012 Termination Analysis with Algorithmic Learning
Wonchan Lee, Bow-Yaw Wang, Kwangkeun Yi
CAV2
2011 Predicate Generation for Learning-Based Quantifier-Free Loop Invariant Inference
Yungbum Jung, Wonchan Lee, Bow-Yaw Wang, Kwangkeun Yi
TACAS3
2010 Automatically Inferring Quantified Loop Invariants by Algorithmic Learning from Simple Templates
Soonho Kong, Yungbum Jung, Cristina David, Bow-Yaw Wang, Kwangkeun Yi
APLAS4
2010 Automated Assume-Guarantee Reasoning through Implicit Learning
Yu-Fang Chen 0001, Edmund M. Clarke, Azadeh Farzan, Ming-Hsien Tsai 0001, Yih-Kuen Tsay, Bow-Yaw Wang
CAV6
2010 On Array Theory of Bounded Elements
Min Zhou 0001, Fei He 0001, Bow-Yaw Wang, Ming Gu 0001
CAV3
2010 Comparing Learning Algorithms in Automated Assume-Guarantee Reasoning
Yu-Fang Chen 0001, Edmund M. Clarke, Azadeh Farzan, Fei He 0001, Ming-Hsien Tsai 0001, Yih-Kuen Tsay, Bow-Yaw Wang
ISoLA (1)7
2010 Deriving Invariants by Algorithmic Learning, Decision Procedures, and Predicate Abstraction
Yungbum Jung, Soonho Kong, Bow-Yaw Wang, Kwangkeun Yi
VMCAI3
2009 Learning Minimal Separating DFA's for Compositional Verification
Yu-Fang Chen 0001, Azadeh Farzan, Edmund M. Clarke, Yih-Kuen Tsay, Bow-Yaw Wang
TACAS5
2008 Extending Automated Compositional Verification to the Full Class of Omega-Regular Languages
Azadeh Farzan, Yu-Fang Chen 0001, Edmund M. Clarke, Yih-Kuen Tsay, Bow-Yaw Wang
TACAS5
2008 Automated Compositional Reasoning of Intuitionistically Closed Regular Properties
Yih-Kuen Tsay, Bow-Yaw Wang
CIAA2
2007 Complete SAT-Based Model Checking for Context-Free Processes
Geng-Dian Huang, Bow-Yaw Wang
ATVA2
2007 Automatic Derivation of Compositional Rules in Automated Compositional Reasoning
Bow-Yaw Wang
CONCUR1
2006 On the Satisfiability of Modular Arithmetic Formulae
Bow-Yaw Wang
ATVA1
2006 Automatic Verification of a Model Checker by Reflection
Bow-Yaw Wang
PADL1
2005 Proving forall-µ-Calculus Properties with SAT-Based Model Checking
Bow-Yaw Wang
FORTE1
2005 Specification of an Infinite-State Local Model Checker in Rewriting Logic
Bow-Yaw Wang
SEKE1
2004 Toward Unbounded Model Checking for Region Automata
Fang Yu 0001, Bow-Yaw Wang
ATVA2
2004 BDD-Based Safety-Analysis of Concurrent Software with Pointer Data Structures Using Graph Automorphism Symmetry Reduction
abstract
Dynamic data-structures with pointer links, which are heavily used in real-world software, cause extremely difficult verification problems. Currently, there is no practical framework for the efficient verification of such software systems. We investigated symmetry reduction techniques for the verification of software systems with C-like indirect reference chains like x/spl rarr/y/spl rarr/z/spl rarr/w. We formally defined the model of software with pointer data structures and developed symbolic algorithms to manipulate conditions and assignments with indirect reference chains using BDD technology. We relied on two techniques, inactive variable elimination and process-symmetry reduction in the data-structure configuration, to reduce time and memory complexity. We used binary permutation for efficiency, but we also identified the possibility of an anomaly of false image reachability. We implemented the techniques in tool Red 5.0 and compared performance with Mur/spl phi/ and SMC against several benchmarks.
Farn Wang, Karsten Wolf, Fang Yu 0001, Geng-Dian Huang, Bow-Yaw Wang
IEEE Trans. Software Eng.5
2001 Verifying Network Protocol Implementations by Symbolic Refinement Checking
Rajeev Alur, Bow-Yaw Wang
CAV2
2001 JMOCHA: A Model Checking Tool that Exploits Design Structure
abstract
Model checking is a practical tool for automated debugging of embedded software. In model checking, a high-level description of a system is compared against a logical correctness requirement to discover inconsistencies. Since model checking is based on exhaustive state-space exploration and the size of the state space of a design grows exponentially with the size of the description, scalability remains a challenge. We have thus developed techniques for exploiting modular design structure during model checking, and the model checker jMocha (Java MOdel-CHecking Algorithm) is based on this theme. Instead of manipulating unstructured state-transition graphs, it supports the hierarchical modeling framework of reactive modules. jMocha is a growing interactive software environment for specification, simulation and verification, and is intended as a vehicle for the development of new verification algorithms and approaches. It is written in Java and uses native C-code BDD libraries from VIS. jMocha offers: (1) a GUI that looks familiar to Windows/Java users; (2) a simulator that displays traces in a message sequence chart fashion; (3) requirements verification both by symbolic and enumerative model checking; (4) implementation verification by checking trace containment; (5) a proof manager that aids compositional and assume-guarantee reasoning; and (6) SLANG (Scripting LANGuage) for the rapid and structured development of new verification algorithms. jMocha is available publicly at; it is a successor and extension of the original Mocha tool that was entirely written in C.
Rajeev Alur, Luca de Alfaro, Radu Grosu, Thomas A. Henzinger, M. Kang, Christoph M. Kirsch, Rupak Majumdar, Freddy Y. C. Mang, Bow-Yaw Wang
ICSE9
2000 Automated Refinement Checking for Asynchronous Processes
Rajeev Alur, Radu Grosu, Bow-Yaw Wang
FMCAD3
1999 "Next" Heuristic for On-the-Fly Model Checking
Rajeev Alur, Bow-Yaw Wang
CONCUR2
1997 Deciding a Class of Path Formulas for Conflict-Free Petri Nets
Hsu-Chun Yen, Bow-Yaw Wang, Ming-Sheng Yang
Theory Comput. Syst.2