Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleDecember 2024JUST ACCEPTED
Formalization of Android Activity-Fragment Multitasking Mechanism and Static Analysis of Mobile Apps
The multitasking mechanism between activities and fragments plays a fundamental role in the Android operating system, which involves a wide range of features, including launch modes, intent flags, task affinities, and structured activities containing ...
- ArticleNovember 2024
Formal Verification of RISC-V Processor Chisel Designs
Dependable Software Engineering. Theories, Tools, and ApplicationsPages 142–160https://doi.org/10.1007/978-981-96-0602-3_8AbstractChisel is an open-source high-level hardware construction language embedded in Scala to facilitate parameterizable, reusable circuit design generators. It is becoming increasingly popular and has been used to design many RISC-V processor variants. ...
- ArticleSeptember 2024
Compositional Verification of Cryptographic Circuits Against Fault Injection Attacks
AbstractFault injection attack is a class of active, physical attacks against cryptographic circuits. The design and implementation of countermeasures against such attacks are intricate, error-prone and laborious, necessitating formal verification to ...
- research-articleNovember 2024
Formally Verifying Arithmetic Chisel Designs for All Bit Widths at Once
DAC '24: Proceedings of the 61st ACM/IEEE Design Automation ConferenceArticle No.: 213, Pages 1–6https://doi.org/10.1145/3649329.3657311Chisel is an open-source hardware description language embedded in Scala to facilitate parameterized and reusable digital circuit design. Chisel is becoming increasingly popular and has been used to design RISC-V CPUs, e.g. RocketChip and XiangShan. ...
- ArticleDecember 2023
String Constraints with Regex-Counting and String-Length Solved More Efficiently
Dependable Software Engineering. Theories, Tools, and ApplicationsPages 1–20https://doi.org/10.1007/978-981-99-8664-4_1AbstractRegular expressions (regex for short) and string-length function are widely used in string-manipulating programs. Counting is a frequently used feature in regexes that counts the number of matchings of sub-patterns. The state-of-the-art string ...
-
- research-articleOctober 2023
A decision procedure for string constraints with string/integer conversion and flat regular constraints
AbstractString constraint solving is the core of various testing and verification approaches for scripting languages. Among algorithms for solving string constraints, flattening is a well-known approach that is particularly useful in handling satisfiable ...
- ArticleSeptember 2022
CHA: Supporting SVA-Like Assertions in Formal Verification of Chisel Programs (Tool Paper)
AbstractWe present CHA, an assertion language and verification tool for Chisel programs built on top of ChiselTest, where we extend the Chisel assertion language with SystemVerilog assertions (SVA)-like temporal operators. This enables formal verification ...
Solving string constraints with Regex-dependent functions through transducers with priorities and variables
- Taolue Chen,
- Alejandro Flores-Lamas,
- Matthew Hague,
- Zhilei Han,
- Denghang Hu,
- Shuanglong Kan,
- Anthony W. Lin,
- Philipp Rümmer,
- Zhilin Wu
Proceedings of the ACM on Programming Languages (PACMPL), Volume 6, Issue POPLArticle No.: 45, Pages 1–31https://doi.org/10.1145/3498707Regular expressions are a classical concept in formal language theory. Regular expressions in programming languages (RegEx) such as JavaScript, feature non-standard semantics of operators (e.g. greedy/lazy Kleene star), as well as additional features ...
- ArticleNovember 2020
Computing Linear Arithmetic Representation of Reachability Relation of One-Counter Automata
Dependable Software Engineering. Theories, Tools, and ApplicationsPages 89–107https://doi.org/10.1007/978-3-030-62822-2_6AbstractOne-counter automata (OCA) are a well-studied automata model that extends finite-state automata with one counter. The reachability problem of OCA was shown to be NP-complete when the integers in the OCA are encoded in binary. In this paper, we ...
- ArticleOctober 2020
A Decision Procedure for Path Feasibility of String Manipulating Programs with Integer Data Type
Automated Technology for Verification and AnalysisPages 325–342https://doi.org/10.1007/978-3-030-59152-6_18AbstractIn this paper, we propose a decision procedure for a class of string-manipulating programs which includes not only a wide range of string operations such as concatenation, replaceAll, reverse, and finite transducers, but also those involving the ...
- ArticleJuly 2020
Monadic Decomposition in Integer Linear Arithmetic
AbstractMonadic decomposability is a notion of variable independence, which asks whether a given formula in a first-order theory is expressible as a Boolean combination of monadic predicates in the theory. Recently, Veanes et al. showed the usefulness of ...
- ArticleJanuary 2019
Separation Logic with Linearly Compositional Inductive Predicates and Set Data Constraints
SOFSEM 2019: Theory and Practice of Computer SciencePages 206–220https://doi.org/10.1007/978-3-030-10801-4_17AbstractWe identify difference-bound set constraints (DBS), an analogy of difference-bound arithmetic constraints for sets. DBS can express not only set constraints but also arithmetic constraints over set elements. We integrate DBS into separation logic ...
Decision procedures for path feasibility of string-manipulating programs with complex operations
Proceedings of the ACM on Programming Languages (PACMPL), Volume 3, Issue POPLArticle No.: 49, Pages 1–30https://doi.org/10.1145/3290362The design and implementation of decision procedures for checking path feasibility in string-manipulating programs is an important problem, with such applications as symbolic execution of programs with strings and automated detection of cross-site ...
- research-articleDecember 2017
What is decidable about string constraints with the ReplaceAll function
Proceedings of the ACM on Programming Languages (PACMPL), Volume 2, Issue POPLArticle No.: 3, Pages 1–29https://doi.org/10.1145/3158091The theory of strings with concatenation has been widely argued as the basis of constraint solving for verifying string-manipulating programs. However, this theory is far from adequate for expressing many string constraints that are also needed in ...
- research-articleJune 2017
Register automata with linear arithmetic
LICS '17: Proceedings of the 32nd Annual ACM/IEEE Symposium on Logic in Computer ScienceArticle No.: 51, Pages 1–12We propose a novel automata model over the alphabet of rational numbers, which we call register automata over the rationals (RAQ). It reads a sequence of rational numbers and outputs another rational number. RAQ is an extension of the well-known ...
- research-articleDecember 2016
On temporal logics with data variable quantifications
Information and Computation (ICOM), Volume 251, Issue CPages 104–139https://doi.org/10.1016/j.ic.2016.08.002Although data values are available in almost every computer system, reasoning about them is a challenging task due to the huge data size or even infinite data domains. Temporal logics are the well-known specification formalisms for reactive and ...
- ArticleJuly 2016
Verifying pushdown multi-agent systems against strategy logics
IJCAI'16: Proceedings of the Twenty-Fifth International Joint Conference on Artificial IntelligencePages 180–186In this paper, we investigate model checking algorithms for variants of strategy logic over pushdown multi-agent systems, modeled by pushdown game structures (PGSs). We consider various fragments of strategy logic, i.e., SL[CG], SL[DG], SL[1G] and BSIL. ...
- ArticleJune 2016
A Complete Decision Procedure for Linearly Compositional Separation Logic with Data Constraints
Proceedings of the 8th International Joint Conference on Automated Reasoning - Volume 9706Pages 532–549https://doi.org/10.1007/978-3-319-40229-1_36Separation logic is a widely adopted formalism to verify programs manipulating dynamic data structures. Entailment checking of separation logic constitutes a crucial step for the verification of such programs. In general this problem is undecidable, ...
- ArticleFebruary 2016
Global model checking on pushdown multi-agent systems
Pushdown multi-agent systems, modeled by pushdown game structures (PGSs), are an important paradigm of infinite-state multi-agent systems. Alternating-time temporal logics are well-known specification formalisms for multi-agent systems, where the ...