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.

Chinawat Isradisaikul

dblp:130/6626 · DBLP profile ↗
← Back
2ranked-venue papers
2as first author
0since 2021 · last 2015
—ORCID · none

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

Software engineering, systems software and programming languages · 2 · 2 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
2 papers
Programming languages and type systems · 55% Program verification · 36% Program analysis · 8%
Theoretical computer science
1 paper
Automata and formal languages · 100%

Topics — the 6 heaviest of 7, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program verification › model checking
counterexample generation
0.212015
Finding counterexamples from parsing conflicts · PLDI 2015
Automata and formal languages › parsing
parser generation
0.212015
Finding counterexamples from parsing conflicts · PLDI 2015
Automata and formal languages
parsing
0.212015
Finding counterexamples from parsing conflicts · PLDI 2015
Programming languages and type systems
object-oriented programming
0.212013
Reconciling exhaustive pattern matching with objects · PLDI 2013
Programming languages and type systems › control structures
pattern matching
0.212013
Reconciling exhaustive pattern matching with objects · PLDI 2013
Program analysis
static analysis
0.012013
Reconciling exhaustive pattern matching with objects · PLDI 2013

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

conflict diagnosis · 0.4modal abstraction · 0.2SMT solving · 0.2
YearPublicationVenuePosition
2015 Finding counterexamples from parsing conflicts
abstract
Writing a parser remains remarkably painful. Automatic parser generators offer a powerful and systematic way to parse complex grammars, but debugging conflicts in grammars can be time-consuming even for experienced language designers. Better tools for diagnosing parsing conflicts will alleviate this difficulty. This paper proposes a practical algorithm that generates compact, helpful counterexamples for LALR grammars. For each parsing conflict in a grammar, a counterexample demonstrating the conflict is constructed. When the grammar in question is ambiguous, the algorithm usually generates a compact counterexample illustrating the ambiguity. This algorithm has been implemented as an extension to the CUP parser generator. The results from applying this implementation to a diverse collection of faulty grammars show that the algorithm is practical, effective, and suitable for inclusion in other LALR parser generators.
Chinawat Isradisaikul, Andrew C. Myers
PLDI1
2013 Reconciling exhaustive pattern matching with objects
abstract
Pattern matching, an important feature of functional languages, is in conflict with data abstraction and extensibility, which are central to object-oriented languages. Modal abstraction offers an integration of deep pattern matching and convenient iteration abstractions into an object-oriented setting; however, because of data abstraction, it is challenging for a compiler to statically verify properties such as exhaustiveness. In this work, we extend modal abstraction in the JMatch language to support static, modular reasoning about exhaustiveness and redundancy. New matching specifications allow these properties to be checked using an SMT solver. We also introduce expressive pattern-matching constructs. Our evaluation shows that these new features enable more concise code and that the performance of checking exhaustiveness and redundancy is acceptable.
Chinawat Isradisaikul, Andrew C. Myers
PLDI1