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

Suzanne Millstein

dblp:153/5835 · DBLP profile ↗
← Back
4ranked-venue papers
0as first author
1since 2021 · last 2021
—ORCID · none

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

Software engineering, systems software and programming languages · 3 · 1 since 2021Security and privacy · 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.

Software engineering, system software, and programming languages
4 papers
Program analysis · 36% Program verification · 28% Programming languages and type systems · 27%
Network and information security
2 papers
Systems and software security · 50% Web and mobile security · 50%

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

TopicWeightPapersLastEvidence papers
Program analysis
static analysis
0.522018
Lightweight verification of array indexing · ISSTA 2018
Static Analysis of Implicit Control Flow: Resolving Java Reflection and Android Intents (T) · ASE 2015
Program verification › concurrent program verification
determinism verification
0.512021
Verifying Determinism in Sequential Programs · ICSE 2021
Programming languages and type systems › type systems › refinement types
type qualifiers
0.512021
Verifying Determinism in Sequential Programs · ICSE 2021
Programming languages and type systems
type systems
0.512021
Verifying Determinism in Sequential Programs · ICSE 2021
Program analysis › error detection
array bounds checking
0.312018
Lightweight verification of array indexing · ISSTA 2018
Program verification › automated verification
lightweight verification
0.312018
Lightweight verification of array indexing · ISSTA 2018
Empirical software engineering › mining software repositories › mobile app analysis
android app analysis
0.212015
Static Analysis of Implicit Control Flow: Resolving Java Reflection and Android Intents (T) · ASE 2015
Program analysis
control flow analysis
0.212015
Static Analysis of Implicit Control Flow: Resolving Java Reflection and Android Intents (T) · ASE 2015
Program analysis
security analysis
0.212015
Static Analysis of Implicit Control Flow: Resolving Java Reflection and Android Intents (T) · ASE 2015
Systems and software security › information flow control
information flow type system
0.212014
Collaborative Verification of Information Flow for a High-Assurance App Store · CCS 2014
Program verification › security property verification
information flow verification
0.212014
Collaborative Verification of Information Flow for a High-Assurance App Store · CCS 2014
Software testing
flaky test
0.112021
Verifying Determinism in Sequential Programs · ICSE 2021
Web and mobile security › mobile security
android security
0.112015
Static Analysis of Implicit Control Flow: Resolving Java Reflection and Android Intents (T) · ASE 2015
Web and mobile security
mobile security
0.112015
Static Analysis of Implicit Control Flow: Resolving Java Reflection and Android Intents (T) · ASE 2015
Web and mobile security › mobile application security
app store security
0.112014
Collaborative Verification of Information Flow for a High-Assurance App Store · CCS 2014

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

static analysis · 0.9type system · 0.5reflection resolution · 0.4intent resolution · 0.4information-flow type system · 0.4declassification auditing · 0.4verification · 0.3
YearPublicationVenuePosition
2021 Verifying Determinism in Sequential Programs
abstract
When a program is nondeterministic, it is difficult to test and debug. Nondeterminism occurs even in sequential programs: e.g., by iterating over the elements of a hash table. We have created a type system that expresses determinism specifications in a program. The key ideas in the type system are type qualifiers for nondeterminism, order-nondeterminism, and determinism; type well-formedness rules to restrict collection types; and enhancements to polymorphism that improve precision when analyzing collection operations. While state of-the-art nondeterminism detection tools rely on observing output from specific runs, our approach soundly verifies determinism at compile time. We implemented our type system for Java. Our type checker, the Determinism Checker, warns if a program is nondeterministic or verifies that the program is deterministic. In case studies of 90097 lines of code, the Determinism Checker found 87 previously-unknown nondeterminism errors, even in programs that had been heavily vetted by developers who were greatly concerned about nondeterminism errors. In experiments, the Determinism Checker found all of the non-concurrency-related nondeterminism that was found by state-of-the-art dynamic approaches for detecting flaky tests.
Rashmi Mudduluru, Jason Waataja, Suzanne Millstein, Michael D. Ernst
ICSE3
2018 Lightweight verification of array indexing
abstract
In languages like C, out-of-bounds array accesses lead to security vulnerabilities and crashes. Even in managed languages like Java, which check array bounds at run time, out-of-bounds accesses cause exceptions that terminate the program.
Martin Kellogg, Vlastimil Dort, Suzanne Millstein, Michael D. Ernst
ISSTA3
2015 Static Analysis of Implicit Control Flow: Resolving Java Reflection and Android Intents (T)
abstract
Implicit or indirect control flow is a transfer of control between procedures using some mechanism other than an explicit procedure call. Implicit control flow is a staple design pattern that adds flexibility to system design. However, it is challenging for a static analysis to compute or verify properties about a system that uses implicit control flow. This paper presents static analyses for two types of implicit control flow that frequently appear in Android apps: Java reflection and Android intents. Our analyses help to resolve where control flows and what data is passed. This information improves the precision of downstream analyses, which no longer need to make conservative assumptions about implicit control flow. We have implemented our techniques for Java. We enhanced an existing security analysis with a more precise treatment of reflection and intents. In a case study involving ten real-world Android apps that use both intents and reflection, the precision of the security analysis was increased on average by two orders of magnitude. The precision of two other downstream analyses was also improved.
Paulo Barros, René Just, Suzanne Millstein, Paul Vines, Werner Dietl, Marcelo d'Amorim, Michael D. Ernst
ASE3
2014 Collaborative Verification of Information Flow for a High-Assurance App Store
abstract
Current app stores distribute some malware to unsuspecting users, even though the app approval process may be costly and time-consuming. High-integrity app stores must provide stronger guarantees that their apps are not malicious. We propose a verification model for use in such app stores to guarantee that the apps are free of malicious information flows. In our model, the software vendor and the app store auditor collaborate -- each does tasks that are easy for her/him, reducing overall verification cost. The software vendor provides a behavioral specification of information flow (at a finer granularity than used by current app stores) and source code annotated with information-flow type qualifiers. A flow-sensitive, context-sensitive information-flow type system checks the information flow type qualifiers in the source code and proves that only information flows in the specification can occur at run time. The app store auditor uses the vendor-provided source code to manually verify declassifications.
Michael D. Ernst, René Just, Suzanne Millstein, Werner Dietl, Stuart Pernsteiner, Franziska Roesner, Karl Koscher, Paulo Barros, Ravi Bhoraskar, Seungyeop Han, Paul Vines, Edward XueJun Wu
CCS3