Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Minh-Thai Trinh

dblp:78/9861 · DBLP profile ↗
← Back
11ranked-venue papers
5as first author
3since 2021 · last 2024
0000-0002-5716-9400ORCID · verified

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

Software engineering, systems software and programming languages · 10 · 4 first-author · 3 since 2021Theory of computation · 4 · 2 first-author · 1 since 2021Security and privacy · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
7 papers
Program verification · 59% Program analysis · 29% Programming languages and type systems · 12%
Theoretical computer science
5 papers
Automated reasoning and model checking · 84% Logic in computer science · 16%
Network and information security
1 paper
Blockchain and cryptocurrency security · 50% Web and mobile security · 50%

Topics — the 19 heaviest of 21, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Automated reasoning and model checking › constraint solving
string constraint solving
1.032020
Inter-theory dependency analysis for SMT string solvers · Proc. ACM Program. Lang. 2020
Model Counting for Recursively-Defined Strings · CAV (2) 2017
Progressive Reasoning over Recursively-Defined Strings · CAV (1) 2016
Program verification
deductive verification
0.712023
Generating Proof Certificates for a Language-Agnostic Deductive Program Verifier · Proc. ACM Program. Lang. 2023
Program analysis › constraint solving
string constraint solving
0.522017
Model Counting for Recursively-Defined Strings · CAV (2) 2017
Progressive Reasoning over Recursively-Defined Strings · CAV (1) 2016
Programming languages and type systems
language semantics
0.512021
Towards a Trustworthy Semantics-Based Language Framework via Proof Generation · CAV (2) 2021
Program verification
proof generation
0.512021
Towards a Trustworthy Semantics-Based Language Framework via Proof Generation · CAV (2) 2021
Logic in computer science › program logic
matching logic
0.412020
Towards a unified proof framework for automated fixpoint reasoning using matching logic · Proc. ACM Program. Lang. 2020
Automated reasoning and model checking
satisfiability modulo theories
0.412020
Inter-theory dependency analysis for SMT string solvers · Proc. ACM Program. Lang. 2020
Program analysis › constraint solving
model counting
0.312017
Model Counting for Recursively-Defined Strings · CAV (2) 2017
Program verification
data structure verification
0.212015
Automatic induction proofs of data-structures in imperative programs · PLDI 2015
Program verification › theorem proving
inductive theorem proving
0.212015
Automatic induction proofs of data-structures in imperative programs · PLDI 2015
Automated reasoning and model checking › theorem proving
proof certification
0.212023
Generating Proof Certificates for a Language-Agnostic Deductive Program Verifier · Proc. ACM Program. Lang. 2023
Automated reasoning and model checking › theorem proving
proof checking
0.212023
Generating Proof Certificates for a Language-Agnostic Deductive Program Verifier · Proc. ACM Program. Lang. 2023
Blockchain and cryptocurrency security › smart contract security
vulnerability detection
0.212014
S3: A Symbolic String Solver for Vulnerability Detection in Web Applications · CCS 2014
Web and mobile security › web security
web application vulnerability detection
0.212014
S3: A Symbolic String Solver for Vulnerability Detection in Web Applications · CCS 2014
Program analysis
symbolic execution
0.212014
S3: A Symbolic String Solver for Vulnerability Detection in Web Applications · CCS 2014
Program verification › mechanized verification
proof checking
0.112021
Towards a Trustworthy Semantics-Based Language Framework via Proof Generation · CAV (2) 2021
Program verification
automated reasoning and model checking
0.112011
FixBag: A Fixpoint Calculator for Quantified Bag Constraints · CAV 2011
Program analysis
constraint solving
0.112011
FixBag: A Fixpoint Calculator for Quantified Bag Constraints · CAV 2011
Program analysis › static analysis › abstract interpretation
fixpoint computation
0.112011
FixBag: A Fixpoint Calculator for Quantified Bag Constraints · CAV 2011

Methods — techniques the papers use, named apart from their topics

rewriting logic · 1.3reachability logic · 1.3proof certificate generation · 1.3proof generation · 0.5proof checking · 0.5matching logic · 0.4knaster-tarski proof rule · 0.4dependency analysis · 0.4SMT solving · 0.4constraint solving · 0.4induction hypothesis · 0.2fold/unfold · 0.2regular expressions · 0.2regular expression · 0.2
YearPublicationVenuePosition
2024 Effective Search Space Pruning for Testing Deep Neural Networks
Bala Rangayah, Eugene Sng, Minh-Thai Trinh
APLAS3
2023 Generating Proof Certificates for a Language-Agnostic Deductive Program Verifier
abstract
Previous work on rewriting and reachability logic establishes a vision for a language-agnostic program verifier, which takes three inputs: a program, its formal specification, and the formal semantics of the programming language in which the program is written. The verifier then uses a language-agnostic verification algorithm to prove the program correct with respect to the specification and the formal language semantics. Such a complex verifier can easily have bugs. This paper proposes a method to certify the correctness of each successful verification run by generating a proof certificate. The proof certificate can be checked by a small proof checker. The preliminary experiments apply the method to generate proof certificates for program verification in an imperative language, a functional language, and an assembly language, showing that the proposed method is language-agnostic.
Zhengyao Lin, Xiaohong Chen 0002, Minh-Thai Trinh, Grigore Rosu
Proc. ACM Program. Lang.3
2021 Towards a Trustworthy Semantics-Based Language Framework via Proof Generation
abstract
Abstract We pursue the vision of anideal language framework, where programming language designers only need to define the formalsyntaxandsemanticsof their languages, and all language tools are automatically generated by the framework. Due to the complexity of such a language framework, it is a big challenge to ensure its trustworthiness and to establish the correctness of the autogenerated language tools. In this paper, we propose an innovative approach based onproof generation. The key idea is to generate proof objects as correctness certificates for each individual task that the language tools conduct, on a case-by-case basis, and use a trustworthy proof checker to check the proof objects. This way, we avoid formally verifying the entire framework, which is practically impossible, and thus can make the language framework bothpracticalandtrustworthy. As a first step, we formalize program execution as mathematical proofs and generate their complete proof objects. The experimental result shows that the performance of our proof object generation and proof checking is very promising.
Xiaohong Chen 0002, Zhengyao Lin, Minh-Thai Trinh, Grigore Rosu
CAV (2)3
2020 Towards a unified proof framework for automated fixpoint reasoning using matching logic
abstract
Automation of fixpoint reasoning has been extensively studied for various mathematical structures, logical formalisms, and computational domains, resulting in specialized fixpoint provers for heaps, for streams, for term algebras, for temporal properties, for program correctness, and for many other formal systems and inductive and coinductive properties. However, in spite of great theoretical and practical interest, there is no unified framework for automated fixpoint reasoning. Although several attempts have been made, there is no evidence that such a unified framework is possible, or practical. In this paper, we propose a candidate based on matching logic, a formalism recently shown to theoretically unify the above mentioned formal systems. Unfortunately, the (Knaster-Tarski) proof rule of matching logic, which enables inductive reasoning, is not syntax-driven. Worse, it can be applied at any step during a proof, making automation seem hopeless. Inspired by recent advances in automation of inductive proofs in separation logic, we propose an alternative proof system for matching logic, which is amenable for automation. We then discuss our implementation of it, which although not superior to specialized state-of-the-art automated provers for specific domains, we believe brings some evidence and hope that a unified framework for automated reasoning is not out of reach.
Xiaohong Chen 0002, Minh-Thai Trinh, Nishant Rodrigues, Lucas Peña, Grigore Rosu
Proc. ACM Program. Lang.2
2020 Inter-theory dependency analysis for SMT string solvers
abstract
Solvers in the framework of Satisfiability Modulo Theories (SMT) have been widely successful in practice. Recently there has been an increasing interest in solvers for string constraints to address security issues in web programming, for example. To be practically useful, the solvers need to support an expressive constraint language over unbounded strings, and in particular, over string lengths. Satisfiability checking for these formulas, especially in the SMT context, is very hard; it is generally undecidable for a rich fragment. In this paper, we propose a form of dependency analysis for a rich fragment of string constraints including high-level operations such as length, contains to deal with their inter-theory interaction so as to solve them more efficiently. We implement our dependency analysis in the string theory of the Z3 solver to obtain a new one, called S3N. Finally, we demonstrate the superior performance of S3N over state-of-the-art string solvers such as Z3str3, CVC4, S3P, and Z3 on several large industrial-strength benchmarks.
Minh-Thai Trinh, Duc-Hiep Chu, Joxan Jaffar
Proc. ACM Program. Lang.1
2017 Model Counting for Recursively-Defined Strings
Minh-Thai Trinh, Duc-Hiep Chu, Joxan Jaffar
CAV (2)1
2016 Progressive Reasoning over Recursively-Defined Strings
Minh-Thai Trinh, Duc-Hiep Chu, Joxan Jaffar
CAV (1)1
2015 Automatic induction proofs of data-structures in imperative programs
abstract
We consider the problem of automated reasoning about dynamically manipulated data structures. Essential properties are encoded as predicates whose definitions are formalized via user-defined recursive rules. Traditionally, proving relationships between such properties is limited to the unfold-and-match (U+M) paradigm which employs systematic transformation steps of folding/unfolding the rules. A proof, using U+M, succeeds when we find a sequence of transformations that produces a final formula which is obviously provable by simply matching terms. Our contribution here is the addition of the fundamental principle of induction to this automated process. We first show that some proof obligations that are dynamically generated in the process can be used as induction hypotheses in the future, and then we show how to use these hypotheses in an induction step which generates a new proof obligation aside from those obtained by using the fold/unfold operations. While the adding of induction is an obvious need in general, no automated method has managed to include this in a systematic and general way. The main reason for this is the problem of avoiding circular reasoning. We overcome this with a novel checking condition. In summary, our contribution is a proof method which – beyond U+M – performs automatic formula re-writing by treating previously encountered obligations in each proof path as possible induction hypotheses. In the practical evaluation part of this paper, we show how the commonly used technique of using unproven lemmas can be avoided, using realistic benchmarks. This not only removes the current burden of coming up with the appropriate lemmas, but also significantly boosts up the verification process, since lemma applications, coupled with unfolding, often induce a large search space. In the end, our method can automatically reason about a new class of formulas arising from practical program verification.
Duc-Hiep Chu, Joxan Jaffar, Minh-Thai Trinh
PLDI3
2014 S3: A Symbolic String Solver for Vulnerability Detection in Web Applications
abstract
Motivated by the vulnerability analysis of web programs which work on string inputs, we present S3, a new symbolic string solver. Our solver employs a new algorithm for a constraint language that is expressive enough for widespread applicability. Specifically, our language covers all the main string operations, such as those in JavaScript. The algorithm first makes use of a symbolic representation so that membership in a set defined by a regular expression can be encoded as string equations. Secondly, there is a constraint-based generation of instances from these symbolic expressions so that the total number of instances can be limited. We evaluate S3 on a well-known set of practical benchmarks, demonstrating both its robustness (more definitive answers) and its efficiency (about 20 times faster) against the state-of-the-art.
Minh-Thai Trinh, Duc-Hiep Chu, Joxan Jaffar
CCS1
2013 Bi-Abduction with Pure Properties for Specification Inference
Minh-Thai Trinh, Quang Loc Le, Cristina David, Wei-Ngan Chin
APLAS1
2011 FixBag: A Fixpoint Calculator for Quantified Bag Constraints
Tuan-Hung Pham, Minh-Thai Trinh, Anh-Hoang Truong, Wei-Ngan Chin
CAV2