Felix Sheng-Ho Chang

dblp:11/3395 · DBLP profile ↗
← Back
4ranked-venue papers
2as first author
0since 2021 · last 2008
—ORCID · none

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

Software engineering, systems software and programming languages · 3 · 1 first-authorSystems, architecture and hardware · 1 · 1 first-authorTheory of computation · 1

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.

Theoretical computer science
2 papers
Automated reasoning and model checking · 100%
Software engineering, system software, and programming languages
2 papers
Program verification · 83% Programming languages and type systems · 8% Program analysis · 8%

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

TopicWeightPapersLastEvidence papers
Automated reasoning and model checking › satisfiability › unsatisfiable cores
minimal unsatisfiable subset
0.112008
Finding Minimal Unsatisfiable Cores of Declarative Specifications · FM 2008
Automated reasoning and model checking
satisfiability
0.112008
Finding Minimal Unsatisfiable Cores of Declarative Specifications · FM 2008
Automated reasoning and model checking › satisfiability › unsatisfiable cores
unsatisfiable core extraction
0.112008
Finding Minimal Unsatisfiable Cores of Declarative Specifications · FM 2008
Program verification
modular verification
0.112006
Modular verification of code with SAT · ISSTA 2006
Program verification › constraint-based verification
SAT-based verification
0.112006
Modular verification of code with SAT · ISSTA 2006
Program verification
specification verification
0.112006
Modular verification of code with SAT · ISSTA 2006
Automated reasoning and model checking › model checking
symbolic model checking
0.112006
Symbolic model checking of declarative relational models · ICSE 2006
Programming languages and type systems
declarative languages
0.012006
Symbolic model checking of declarative relational models · ICSE 2006
Program analysis
static analysis
0.012006
Modular verification of code with SAT · ISSTA 2006

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

relational logic · 0.2BDD-based model checking · 0.1model checking · 0.1SAT solving · 0.1
YearPublicationVenuePosition
2008 Finding Minimal Unsatisfiable Cores of Declarative Specifications
Emina Torlak, Felix Sheng-Ho Chang, Daniel Jackson 0001
FM2
2006 Symbolic model checking of declarative relational models
abstract
This paper explores the idea of augmenting traditional model checkers with the expressiveness of a declarative, relational language. The goal is to enable programmers to write very intuitive and compact specifications, in order to allow the automatic verification of more complicated software systems. The key idea is that many structural operations (common in object-oriented programs) can be easily described using relations and relational operators, while other operations are best described using the primitive data types and their operations (such as simple arithmetic operations on numbers). By allowing a mixture of both, and by allowing parts of the model to be described declaratively rather than imperatively, the programmer has the freedom to model each part of the system differently, using the most intuitive and simple constructs. We built a BDD-based model checker for the language, and successfully verified a straightforward model of the dependency algorithm in Apache Ant for up to 5 nodes.
Felix Sheng-Ho Chang, Daniel Jackson 0001
ICSE1
2006 Modular verification of code with SAT
abstract
An approach is described for checking the methods of a class against a full specification. It shares with traditional model checking the idea of exhausting the entire space of executions within some finite bounds, and with traditional verification the idea of modular analysis, in which a method is analyzed, in isolation, for all possible calling contexts.The analysis involves an automatic two-phase reduction: first, to an intermediate form in relational logic (using a new encoding described here), and second, to a boolean formula (using existing techniques), which is then handed to an off the shelf SAT solver.A variety of implementations of the Java Collections Framework's List interface were checked against existing JML specifications. The analysis revealed bugs in the implementations, as well as errors in the specifications themselves.
Greg Dennis, Felix Sheng-Ho Chang, Daniel Jackson 0001
ISSTA2
2001 Fast Specification of Cycle-accurate Processor Models
abstract
This paper introduces a new specification style for processor microarchitectures. Our goal is to produce very simple, compact, but cycle-accurate descriptions, in order to enable early exploration of different microarchitectures and their performance. The key idea behind our approach is that we can derive the difficult-to-design forwarding and stall logic completely automatically. We have implemented a specification language for pipelined processors, along with an automatic translator that creates cycle-accurate software simulators from the specifications. We have specified a pipelined MIPS integer core in our language. The entire specification is less than 300 lines long and implements all user mode instructions except for coprocessor support. The resulting, automatically-generated, cycle-accurate simulator achieves over 240,000 instructions per second simulating MIPS machine code. This performance is within an order of magnitude of large, hand-crafted, cycle-accurate simulators, but our specification is far easier to create, read, and modify.
Felix Sheng-Ho Chang, Alan J. Hu
ICCD1