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

Michael Roberson

dblp:58/1518 · DBLP profile ↗
← Back
3ranked-venue papers
2as first author
0since 2021 · last 2010
—ORCID · none

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

Software engineering, systems software and programming languages · 3 · 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
Program verification · 40% Program analysis · 30% Programming languages and type systems · 30%

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

TopicWeightPapersLastEvidence papers
Program verification › model checking
software model checking
0.222010
Efficient modular glass box software model checking · OOPSLA 2010
Efficient software model checking of soundness of type systems · OOPSLA 2008
Program analysis
state pruning
0.122010
Efficient modular glass box software model checking · OOPSLA 2010
Efficient software model checking of soundness of type systems · OOPSLA 2008
Programming languages and type systems › type systems
soundness
0.112008
Efficient software model checking of soundness of type systems · OOPSLA 2008
Programming languages and type systems
type systems
0.112008
Efficient software model checking of soundness of type systems · OOPSLA 2008
Program verification
property checking
0.012010
Efficient modular glass box software model checking · OOPSLA 2010
Program analysis
static analysis
0.012010
Efficient modular glass box software model checking · OOPSLA 2010

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

state space pruning · 0.2small-step operational semantics · 0.1
YearPublicationVenuePosition
2010 Efficient modular glass box software model checking
abstract
Glass box software model checking incorporates novel techniques to identify similarities in the state space of a model checker and safely prune large numbers of redundant states without explicitly checking them. It is significantly more efficient than other software model checking approaches for checking certain kinds of programs and program properties.
Michael Roberson, Chandrasekhar Boyapati
OOPSLA1
2008 Efficient software model checking of soundness of type systems
abstract
This paper presents novel techniques for checking the soundness of a type system automatically using a software model checker. Our idea is to systematically generate every type correct intermediate program state (within some finite bounds), execute the program one step forward if possible using its small step operational semantics, and then check that the resulting intermediate program state is also type correct--but do so efficiently by detecting similarities in this search space and pruning away large portions of the search space. Thus, given only a specification of type correctness and the small step operational semantics for a language, our system automatically checks type soundness by checking that the progress and preservation theorems hold for the language (albeit for program states of at most some finite size). Our preliminary experimental results on several languages--including a language of integer and boolean expressions, a simple imperative programming language, an object-oriented language which is a subset of Java, and a language with ownership types--indicate that our approach is feasible and that our search space pruning techniques do indeed significantly reduce what is otherwise an extremely large search space. Our paper thus makes contributions both in the area of checking soundness of type systems, and in the area of reducing the state space of a software model checker.
Michael Roberson, Melanie Harries, Paul T. Darga, Chandrasekhar Boyapati
OOPSLA1
2007 A type system for preventing data races and deadlocks in the java virtual machine language: 1
abstract
In previous work on SafeJava we presented a type system extension to the Java source language that statically prevents data races and deadlocks in multithreaded programs. SafeJava is expressive enough to support common programming patterns, its type checking is fast and scalable, and it requires little programming overhead. SafeJava thus offers a promising approach for making multithreaded programs more reliable. This paper presents a corresponding type system extension for the Java virtual machine language (JVML). We call the resulting language SafeJVML. Well-typed SafeJVML programs are guaranteed to be free of data races and deadlocks. Designing a corresponding type system for JVML is important because most Java code is shipped in the JVML format. Designing acorresponding type system for JVML is nontrivial because of important differences between Java and JVML. In particular, the absence of block structure in JVML programs and the fact that they do not use named local variables the way Java programs do make the type systems for Java and JVML significantly different. For example, verifying absence of races and deadlocks in JVML programs requires performing an alias analysis, something that was not necessary for verifying absence of races and deadlocks in Java programs. This paper presents static and dynamic semantics for Safe JVML. It also includes a proof that the SafeJVML type system is sound and that it prevents data races and deadlocks. To the best of our knowledge, this is the first type system for JVML that statically ensures absence of synchronization errors.
Pratibha Permandla, Michael Roberson, Chandrasekhar Boyapati
LCTES2