Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleJanuary 2015
Specification Inference Using Context-Free Language Reachability
POPL '15: Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 553–566https://doi.org/10.1145/2676726.2676977We present a framework for computing context-free language reachability properties when parts of the program are missing. Our framework infers candidate specifications for missing program pieces that are needed for verifying a property of interest, and ...
Also Published in:
ACM SIGPLAN Notices: Volume 50 Issue 1 - research-articleJanuary 2014
Bias-variance tradeoffs in program analysis
POPL '14: Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesPages 127–137https://doi.org/10.1145/2535838.2535853It is often the case that increasing the precision of a program analysis leads to worse results. It is our thesis that this phenomenon is the result of fundamental limits on the ability to use precise abstract domains as the basis for inferring strong ...
Also Published in:
ACM SIGPLAN Notices: Volume 49 Issue 1 - research-articleJanuary 2011
Precise reasoning for programs using containers
POPL '11: Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 187–200https://doi.org/10.1145/1926385.1926407Containers are general-purpose data structures that provide functionality for inserting, reading, removing, and iterating over elements. Since many applications written in modern programming languages, such as C++ and Java, use containers as standard ...
Also Published in:
ACM SIGPLAN Notices: Volume 46 Issue 1 - ArticleJanuary 2007
Conditional must not aliasing for static race detection
POPL '07: Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 327–338https://doi.org/10.1145/1190216.1190265Race detection algorithms for multi-threaded programs using the common lock-based synchronization idiom must correlate locks with the memory locations they guard. The heart of a proof of race freedom is showing that if two locks are distinct, then the ...
Also Published in:
ACM SIGPLAN Notices: Volume 42 Issue 1 - ArticleJanuary 2005
Scalable error detection using boolean satisfiability
POPL '05: Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 351–363https://doi.org/10.1145/1040305.1040334We describe a software error-detection tool that exploits recent advances in boolean satisfiability (SAT) solvers. Our analysis is path sensitive, precise down to the bit level, and models pointers and heap data. Our approach is also highly scalable, ...
Also Published in:
ACM SIGPLAN Notices: Volume 40 Issue 1 - proceedingJanuary 2003
POPL '03: Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
This volume contains the papers and abstracts presented at POPL'03, the Thirtieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. The POPL conference is a forum for presentation of research on the design, foundations, ...
- ArticleJanuary 2002
The first-order theory of subtyping constraints
POPL '02: Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 203–216https://doi.org/10.1145/503272.503292We investigate the first-order of subtyping constraints. We show that the first-order theory of non-structural subtyping is undecidable, and we show that in the case where all constructors are either unary or nullary, the first-order theory is decidable ...
Also Published in:
ACM SIGPLAN Notices: Volume 37 Issue 1 - ArticleJanuary 2000
Type systems for distributed data structures
POPL '00: Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 199–213https://doi.org/10.1145/325694.325717Distributed-memory programs are often written using a global address space: any process can name any memory location on any processor. Some languages completely hide the distinction between local and remote memory, simplifying the programming model at ...
- ArticleJanuary 2000
Projection merging: reducing redundancies in inclusion constraint graphs
POPL '00: Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 81–95https://doi.org/10.1145/325694.325706Inclusion-based program analyses are implemented by adding new edges to directed graphs. In most analyses, there are many different ways to add a transitive edge between two nodes, namely through each different path connecting the nodes. This path ...
- ArticleJanuary 1998
Barrier inference
POPL '98: Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 342–354https://doi.org/10.1145/268946.268974Many parallel programs are written in SPMD style i.e. by running the same sequential program on all processes. SPMD programs include synchronization, but it is easy to write incorrect synchronization patterns. We propose a system that verifies a program'...
- ArticleFebruary 1994
Soft typing with conditional types
POPL '94: Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 163–173https://doi.org/10.1145/174675.177847We present a simple and powerful type inference method for dynamically typed languages where no type information is supplied by the user. Type inference is reduced to the problem of solvability of a system of type inclusion constraints over a type ...
- ArticleDecember 1989
Program transformation in the presence of errors
POPL '90: Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languagesPages 210–217https://doi.org/10.1145/96709.96730Language designers and implementors have avoided specifying and preserving the meaning of programs that produce errors. This is apparently because being forced to preserve error behavior severely limits the scope of program optimization, even for ...