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.

Nels E. Beckman

dblp:65/194 · DBLP profile ↗
← Back
6ranked-venue papers
5as first author
0since 2021 · last 2011
—ORCID · none

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

Software engineering, systems software and programming languages · 6 · 5 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
4 papers
Program verification · 33% Software testing · 33% Program analysis · 24%

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

TopicWeightPapersLastEvidence papers
Program verification
abstraction refinement
0.222010
Proofs from Tests · IEEE Trans. Software Eng. 2010
Proofs from tests · ISSTA 2008
Program verification › model checking
software model checking
0.222010
Proofs from Tests · IEEE Trans. Software Eng. 2010
Proofs from tests · ISSTA 2008
Software testing
test-based verification
0.222010
Proofs from Tests · IEEE Trans. Software Eng. 2010
Proofs from tests · ISSTA 2008
Software testing
test generation
0.222010
Proofs from Tests · IEEE Trans. Software Eng. 2010
Proofs from tests · ISSTA 2008
Program analysis
specification mining
0.112011
Probabilistic, modular and scalable inference of typestate specifications · PLDI 2011
Program analysis
static analysis
0.112011
Probabilistic, modular and scalable inference of typestate specifications · PLDI 2011
Program analysis › static analysis
pointer analysis
0.012010
Proofs from Tests · IEEE Trans. Software Eng. 2010
Programming languages and type systems
type systems
0.012008
Verifying correct usage of atomic blocks and typestate · OOPSLA 2008

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

test generation · 0.2predicate abstraction · 0.2probabilistic inference · 0.1modular inference · 0.1symbolic execution · 0.1type system · 0.1static analysis · 0.1alias analysis · 0.1access permissions · 0.1
YearPublicationVenuePosition
2011 An Empirical Study of Object Protocols in the Wild
Nels E. Beckman, Duri Kim, Jonathan Aldrich
ECOOP1
2011 Probabilistic, modular and scalable inference of typestate specifications
abstract
Static analysis tools aim to find bugs in software that correspond to violations of specifications. Unfortunately, for large and complex software, these specifications are usually either unavailable or sophisticated, and hard to write.
Nels E. Beckman, Aditya V. Nori
PLDI1
2010 Proofs from Tests
abstract
We present an algorithm DASH to check if a program P satisfies a safety property φ. The unique feature of this algorithm is that it uses only test generation operations, and it refines and maintains a sound program abstraction as a consequence of failed test generation operations. Thus, each iteration of the algorithm is inexpensive, and can be implemented without any global may-alias information. In particular, we introduce a new refinement operator WPαthat uses only the alias information obtained by symbolically executing a test to refine abstractions in a sound manner. We present a full exposition of the DASH algorithm and its theoretical properties. We have implemented DASH in a tool called YOGI that plugs into Microsoft's Static Driver Verifier framework. We have used this framework to run YOGI on 69 Windows Vista drivers with 85 properties and find that YOGI scales much better than SLAM, the current engine driving Microsoft's Static Driver Verifier.
Nels E. Beckman, Aditya V. Nori, Sriram K. Rajamani, Robert J. Simmons, SaiDeep Tetali, Aditya V. Thakur
IEEE Trans. Software Eng.1
2009 Practical API Protocol Checking with Access Permissions
Kevin Bierhoff, Nels E. Beckman, Jonathan Aldrich
ECOOP2
2008 Proofs from tests
abstract
We present an algorithm DASH to check if a program P satisfies a safety property phi. The unique feature of the algorithm is that it uses only test generation operations, and it refines and maintains a sound program abstraction as a consequence of failed test generation operations. Thus, each iteration of the algorithm is inexpensive, and can be implemented without any global may-alias information. In particular, we introduce a new refinement operator WP_alpha that uses only the alias information obtained by executing a test to refine abstractions in a sound manner. We present a full exposition of the Dash algorithm, its theoretical properties, and its implementation.
Nels E. Beckman, Aditya V. Nori, Sriram K. Rajamani, Robert J. Simmons
ISSTA1
2008 Verifying correct usage of atomic blocks and typestate
abstract
The atomic block, a synchronization primitive provided to programmers in transactional memory systems, has the potential to greatly ease the development of concurrent software. However, atomic blocks can still be used incorrectly, and race conditions can still occur at the level of application logic. In this paper, we present a intraprocedural static analysis, formalized as a type system and proven sound, that helps programmers use atomic blocks correctly. Using access permissions, which describe how objects are aliased and modified, our system statically prevents race conditions and enforces typestate properties in concurrent programs. We have implemented a prototype static analysis for the Java language based on our system and have used it to verify several realistic examples.
Nels E. Beckman, Kevin Bierhoff, Jonathan Aldrich
OOPSLA1