Symbolic model checking: 1020 states and beyond
Information and Computation - Special issue: Selections from 1990 IEEE symposium on logic in computer science
LCLint: a tool for using specifications to check code
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
Software engineering with B
Data groups: specifying the modification of extended state
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Dependent types in practical programming
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Joining specification statements
Theoretical Computer Science
Dynamically discovering likely program invariants to support program evolution
Proceedings of the 21st international conference on Software engineering
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
A static analyzer for finding dynamic programming errors
Software—Practice & Experience
Avoiding exponential explosion: generating compact verification conditions
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Specification of the Javacard API in JML
Proceedings of the fourth working conference on smart card research and advanced applications on Smart card research and advanced applications
JML (poster session): notations and tools supporting detailed design in Java
OOPSLA '00 Addendum to the 2000 proceedings of the conference on Object-oriented programming, systems, languages, and applications (Addendum)
Annotation inference for modular checkers
Information Processing Letters - Special issue in honor of Edsger W. Dijkstra
Enforcing high-level protocols in low-level software
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Automatically validating temporal safety properties of interfaces
SPIN '01 Proceedings of the 8th international SPIN workshop on Model checking of software
Bugs as deviant behavior: a general approach to inferring errors in systems code
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
Predicate abstraction for software verification
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Using data groups to specify and check side effects
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Object-Oriented Software Construction
Object-Oriented Software Construction
A Discipline of Programming
Mercator: A scalable, extensible Web crawler
World Wide Web
The LOOP Compiler for Java and JML
TACAS 2001 Proceedings of the 7th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
Construction of Abstract State Graphs with PVS
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
PVS: Combining Specification, Proof Checking, and Model Checking
CAV '96 Proceedings of the 8th International Conference on Computer Aided Verification
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
Imperative Programming with Dependent Types
LICS '00 Proceedings of the 15th Annual IEEE Symposium on Logic in Computer Science
A TWO-TIERED APPROACH TO SPECIFYING PROGRAMS
A TWO-TIERED APPROACH TO SPECIFYING PROGRAMS
Flow-sensitive type qualifiers
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
ESP: path-sensitive program verification in polynomial time
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Using data groups to specify and check side effects
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Denali: a goal-directed superoptimizer
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
How to write system-specific, static checkers in metal
Proceedings of the 2002 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
The code of many colors: relating threads to code and shared state
Proceedings of the 2002 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
Type-safe multithreading in cyclone
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
A Modular Checker for Multithreaded Programs
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
Automatic Verification by Abstract Interpretation
VMCAI 2003 Proceedings of the 4th International Conference on Verification, Model Checking, and Abstract Interpretation
Debugging temporal specifications with concept analysis
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
A static analyzer for large safety-critical software
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Automatically proving the correctness of compiler optimizations
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
A type and effect system for atomicity
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Predicting problems caused by component upgrades
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
ARCHER: using symbolic, path-sensitive analysis to detect memory access errors
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
An effective theory of type refinements
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Declaring and checking non-null types in an object-oriented language
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Atomizer: a dynamic atomicity checker for multithreaded programs
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Using Eclipse to demonstrate positive static assurance of Java program concurrency design intent
eclipse '03 Proceedings of the 2003 OOPSLA workshop on eclipse technology eXchange
Generalized typestate checking using set interfaces and pluggable analyses
ACM SIGPLAN Notices
Securing web application code by static analysis and runtime protection
Proceedings of the 13th international conference on World Wide Web
Automatic software model checking via constraint logic
Science of Computer Programming - Special issue on 12th European symposium on programming (ESOP 2003)
KISS: keep it simple and sequential
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Verifying safety properties using separation and heterogeneous abstractions
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
Software validation via scalable path-sensitive value flow analysis
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Exploiting purity for atomicity
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Online Cycle Detection and Difference Propagation: Applications to Pointer Analysis
Software Quality Control
Inferring Specifications to Detect Errors in Code
Proceedings of the 19th IEEE international conference on Automated software engineering
Correlation exploitation in error ranking
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Using build-integrated static checking to preserve correctness invariants
Proceedings of the 11th ACM conference on Computer and communications security
AccMon: Automatically Detecting Memory-Related Bugs via Program Counter-Based Invariants
Proceedings of the 37th annual IEEE/ACM International Symposium on Microarchitecture
Flow analysis for verifying properties of concurrent software systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
Automated soundness proofs for dataflow analyses and transformations via local rules
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM SIGPLAN Notices
Crosscutting techniques in program specification and analysis
Proceedings of the 4th international conference on Aspect-oriented software development
Symbolic bounds analysis of pointers, array indices, and accessed memory regions
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Polymorphic predicate abstraction
ACM Transactions on Programming Languages and Systems (TOPLAS)
Verifying safety policies with size properties and alias controls
Proceedings of the 27th international conference on Software engineering
Check 'n' crash: combining static checking and testing
Proceedings of the 27th international conference on Software engineering
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Formal methods for smart cards: an experience report
Science of Computer Programming - Formal methods for components and objects pragmatic aspects and applications
How the design of JML accommodates both runtime assertion checking and formal verification
Science of Computer Programming - Formal methods for components and objects pragmatic aspects and applications
Generating error traces from verification-condition counterexamples
Science of Computer Programming - Formal methods for components and objects pragmatic aspects and applications
Simplify: a theorem prover for program checking
Journal of the ACM (JACM)
Efficient weakest preconditions
Information Processing Letters
Exploiting Purity for Atomicity
IEEE Transactions on Software Engineering
Automatic type inference via partial evaluation
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
Lightweight object specification with typestates
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Parameterized unit tests with unit meister
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
A contextual interpretation of undefinedness for runtime assertion checking
Proceedings of the sixth international symposium on Automated analysis-driven debugging
Modular verification of multithreaded programs
Theoretical Computer Science
AtomCaml: first-class atomicity via rollback
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Exploring the acceptability envelope
OOPSLA '05 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Automatic verification of design patterns in Java
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Symbolic path simulation in path-sensitive dataflow analysis
PASTE '05 Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Weakest-precondition of unstructured programs
PASTE '05 Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Generalizing symbolic execution to library classes
PASTE '05 Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Safe Concurrency for Aggregate Objects with Invariants
SEFM '05 Proceedings of the Third IEEE International Conference on Software Engineering and Formal Methods
SEFM '05 Proceedings of the Third IEEE International Conference on Software Engineering and Formal Methods
Logical Foundations of Program Assertions: What do Practitioners Want?
SEFM '05 Proceedings of the Third IEEE International Conference on Software Engineering and Formal Methods
A logic for information flow in object-oriented programs
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Verifying properties of well-founded linked lists
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Typestate verification: abstraction techniques and complexity results
Science of Computer Programming - Special issue: Static analysis symposium (SAS 2003)
Types for safe locking: Static race detection for Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
STLlint: lifting static checking from languages to libraries
Software—Practice & Experience
Dynamic inference of polymorphic lock types
Science of Computer Programming - Special issue: Concurrency and synchronization in Java programs
LOCKSMITH: context-sensitive correlation analysis for race detection
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Modular checking for buffer overflows in the large
Proceedings of the 28th international conference on Software engineering
Discovering faults in idiom-based exception handling
Proceedings of the 28th international conference on Software engineering
Perracotta: mining temporal API rules from imperfect traces
Proceedings of the 28th international conference on Software engineering
Integrating static analysis and general-purpose theorem proving for termination analysis
Proceedings of the 28th international conference on Software engineering
A proof outline logic for object-oriented programming
Theoretical Computer Science - Formal methods for components and objects
Modular verification of code with SAT
Proceedings of the 2006 international symposium on Software testing and analysis
DSD-Crasher: a hybrid analysis tool for bug finding
Proceedings of the 2006 international symposium on Software testing and analysis
Ad hoc extensibility and access control
ACM SIGOPS Operating Systems Review
A literature survey of the quality economics of defect-detection techniques
Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering
Extended static checking for haskell
Proceedings of the 2006 ACM SIGPLAN workshop on Haskell
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Efficient software model checking of data structure properties
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
A case study of specification and verification using JML in an avionics application
JTRES '06 Proceedings of the 4th international workshop on Java technologies for real-time and embedded systems
Proceedings of the 5th international conference on Generative programming and component engineering
Proceedings of the 5th international conference on Generative programming and component engineering
EXE: automatically generating inputs of death
Proceedings of the 13th ACM conference on Computer and communications security
Early detection of JML specification errors using ESC/Java2
Proceedings of the 2006 conference on Specification and verification of component-based systems
Specifying java iterators with JML and Esc/Java2
Proceedings of the 2006 conference on Specification and verification of component-based systems
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Interpolation for data structures
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
Flow-insensitive type qualifiers
ACM Transactions on Programming Languages and Systems (TOPLAS)
Using model checking to find serious file system errors
ACM Transactions on Computer Systems (TOCS)
An Integrated Approach to High Integrity Software Verification
Journal of Automated Reasoning
Thorough static analysis of device drivers
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
A static aspect language for checking design rules
Proceedings of the 6th international conference on Aspect-oriented software development
Observational purity and encapsulation
Theoretical Computer Science
A framework for the static verification of api calls
Journal of Systems and Software
Flashback: a lightweight extension for rollback and deterministic replay for software debugging
ATEC '04 Proceedings of the annual conference on USENIX Annual Technical Conference
Using SCL to Specify and Check Design Intent in Source Code
IEEE Transactions on Software Engineering
Modular Pluggable Analyses for Data Structure Consistency
IEEE Transactions on Software Engineering
A Sound Assertion Semantics for the Dependable Systems Evolution Verifying Compiler
ICSE '07 Proceedings of the 29th international conference on Software Engineering
OPIUM: Optimal Package Install/Uninstall Manager
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Information Hiding and Visibility in Interface Specifications
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Static error detection using semantic inconsistency inference
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
Model checking large network protocol implementations
NSDI'04 Proceedings of the 1st conference on Symposium on Networked Systems Design and Implementation - Volume 1
Using model checking to find serious file system errors
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
Formal Software Analysis Emerging Trends in Software Model Checking
FOSE '07 2007 Future of Software Engineering
ABASH: finding bugs in bash scripts
Proceedings of the 2007 workshop on Programming languages and analysis for security
Inferring specifications to detect errors in code
Automated Software Engineering
Electronic Notes in Theoretical Computer Science (ENTCS)
Programmed Strategies for Program Verification
Electronic Notes in Theoretical Computer Science (ENTCS)
Variably interprocedural program analysis for runtime error detection
Proceedings of the 2007 international symposium on Software testing and analysis
The trace partitioning abstract domain
ACM Transactions on Programming Languages and Systems (TOPLAS) - Special Issue ESOP'05
Enforcing resource bounds via static verification of dynamic checks
ACM Transactions on Programming Languages and Systems (TOPLAS) - Special Issue ESOP'05
Java+ITP: A Verification Tool Based on Hoare Logic and Algebraic Semantics
Electronic Notes in Theoretical Computer Science (ENTCS)
Formal Translation of Bytecode into BoogiePL
Electronic Notes in Theoretical Computer Science (ENTCS)
Which warnings should I fix first?
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Context-based detection of clone-related bugs
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Finding bugs efficiently with a SAT solver
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Efficient field-sensitive pointer analysis of C
ACM Transactions on Programming Languages and Systems (TOPLAS)
Faithful mapping of model classes to mathematical structures
Proceedings of the 2007 conference on Specification and verification of component-based systems: 6th Joint Meeting of the European Conference on Software Engineering and the ACM SIGSOFT Symposium on the Foundations of Software Engineering
Ilea: inter-language analysis across java and c
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Modular typestate checking of aliased objects
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Modular verification of higher-order methods with mandatory calls specified by model programs
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Tracking bad apples: reporting the origin of null and undefined value errors
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
EXPLODE: a lightweight, general system for finding serious storage system errors
OSDI '06 Proceedings of the 7th symposium on Operating systems design and implementation
From uncertainty to belief: inferring the specification within
OSDI '06 Proceedings of the 7th symposium on Operating systems design and implementation
The Daikon system for dynamic detection of likely invariants
Science of Computer Programming
Predicting buggy changes inside an integrated development environment
Proceedings of the 2007 OOPSLA workshop on eclipse technology eXchange
Enhancing modular OO verification with separation logic
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Back to the future: revisiting precise program verification using SMT solvers
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Extended interface grammars for automated stub generation
Proceedings of the second workshop on Automated formal methods
DSD-Crasher: A hybrid analysis tool for bug finding
ACM Transactions on Software Engineering and Methodology (TOSEM)
Effective typestate verification in the presence of aliasing
ACM Transactions on Software Engineering and Methodology (TOSEM)
GC assertions: using the garbage collector to check heap properties
Proceedings of the 2008 ACM SIGPLAN workshop on Memory systems performance and correctness: held in conjunction with the Thirteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '08)
SS'07 Proceedings of 16th USENIX Security Symposium on USENIX Security Symposium
Atomizer: A dynamic atomicity checker for multithreaded programs
Science of Computer Programming
Symbolic mining of temporal specifications
Proceedings of the 30th international conference on Software engineering
Calysto: scalable and precise extended static checking
Proceedings of the 30th international conference on Software engineering
DySy: dynamic symbolic execution for invariant inference
Proceedings of the 30th international conference on Software engineering
Finding synchronization defects in java programs: extended static analyses and code patterns
Proceedings of the 1st international workshop on Multicore software engineering
Understanding bug fix patterns in verilog
Proceedings of the 2008 international working conference on Mining software repositories
Electronic Notes in Theoretical Computer Science (ENTCS)
Full functional verification of linked data structures
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Static path conditions for Java
Proceedings of the third ACM SIGPLAN workshop on Programming languages and analysis for security
Types for atomicity: Static checking and inference for Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Parallelizing dynamic information flow tracking
Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures
Flexible Hardware Acceleration for Instruction-Grain Program Monitoring
ISCA '08 Proceedings of the 35th Annual International Symposium on Computer Architecture
Practical pluggable types for java
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Verifying dereference safety via expanding-scope analysis
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Automatic documentation inference for exceptions
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Universal symbolic execution and its application to likely data structure invariant generation
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
A catalogue of lightweight visualizations to support code smell inspection
Proceedings of the 4th ACM symposium on Software visualization
Transforming sources to petri nets: a way to analyze execution of parallel programs
Proceedings of the 1st international conference on Simulation tools and techniques for communications, networks and systems & workshops
The Verified Software Challenge: A Call for a Holistic Approach to Reliability
Verified Software: Theories, Tools, Experiments
Automatic Verification of Strongly Dynamic Software Systems
Verified Software: Theories, Tools, Experiments
Reasoning about Object Structures Using Ownership
Verified Software: Theories, Tools, Experiments
Scalable Specification and Reasoning: Challenges for Program Logic
Verified Software: Theories, Tools, Experiments
Verified Software: Theories, Tools, Experiments
Verified Software: Theories, Tools, Experiments
Scalable Software Model Checking Using Design for Verification
Verified Software: Theories, Tools, Experiments
Tool Integration for Reasoned Programming
Verified Software: Theories, Tools, Experiments
Decision Procedures for the Grand Challenge
Verified Software: Theories, Tools, Experiments
Constraint Solving and Symbolic Execution
Verified Software: Theories, Tools, Experiments
Logical Interpretation: Static Program Analysis Using Theorem Proving
CADE-21 Proceedings of the 21st international conference on Automated Deduction: Automated Deduction
Solving Quantified Verification Conditions Using Satisfiability Modulo Theories
CADE-21 Proceedings of the 21st international conference on Automated Deduction: Automated Deduction
Efficient E-Matching for SMT Solvers
CADE-21 Proceedings of the 21st international conference on Automated Deduction: Automated Deduction
Getting Formal Verification into Design Flow
FM '08 Proceedings of the 15th international symposium on Formal Methods
VeriCool: An Automatic Verifier for a Concurrent Object-Oriented Language
FMOODS '08 Proceedings of the 10th IFIP WG 6.1 international conference on Formal Methods for Open Object-Based Distributed Systems
A Hoare Logic for Call-by-Value Functional Programs
MPC '08 Proceedings of the 9th international conference on Mathematics of Program Construction
JML4: Towards an Industrial Grade IVE for Java and Next Generation Research Platform for JML
VSTTE '08 Proceedings of the 2nd international conference on Verified Software: Theories, Tools, Experiments
Bounded Verification of Voting Software
VSTTE '08 Proceedings of the 2nd international conference on Verified Software: Theories, Tools, Experiments
Constrained types for object-oriented languages
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
A programming model for concurrent object-oriented programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Javert: fully automatic mining of general temporal properties from dynamic traces
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
EXE: Automatically Generating Inputs of Death
ACM Transactions on Information and System Security (TISSEC)
HOL-Boogie -- An Interactive Prover for the Boogie Program-Verifier
TPHOLs '08 Proceedings of the 21st International Conference on Theorem Proving in Higher Order Logics
Automation of broad sanity test generation
Programming and Computing Software
Dynamic Model Checking with Property Driven Pruning to Detect Race Conditions
ATVA '08 Proceedings of the 6th International Symposium on Automated Technology for Verification and Analysis
Class invariants as abstract interpretation of trace semantics
Computer Languages, Systems and Structures
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Static contract checking for Haskell
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Unifying type checking and property checking for low-level code
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Translation and optimization for a core calculus with exceptions
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
A Scalable, Sound, Eventually-Complete Algorithm for Deadlock Immunity
Runtime Verification
Valigator: A Verification Tool with Bound and Invariant Generation
LPAR '08 Proceedings of the 15th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning
Implicit Flows: Can't Live with `Em, Can't Live without `Em
ICISS '08 Proceedings of the 4th International Conference on Information Systems Security
Blended analysis for improving the quality of framework-intensive applications
Proceedings of the 2008 Foundations of Software Engineering Doctoral Symposium
An empirical security study of the native code in the JDK
SS'08 Proceedings of the 17th conference on Security symposium
Refinement and verification in component-based model-driven design
Science of Computer Programming
A Scalable Memory Model for Low-Level Code
VMCAI '09 Proceedings of the 10th International Conference on Verification, Model Checking, and Abstract Interpretation
XFindBugs: eXtended FindBugs for AspectJ
Proceedings of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Checking semantic usage of frameworks
LCSD '07 Proceedings of the 2007 Symposium on Library-Centric Software Design
Whispec: white-box testing of libraries using declarative specifications
LCSD '07 Proceedings of the 2007 Symposium on Library-Centric Software Design
A Static Bug Detector for Uninitialized Field References in Java Programs
IEICE - Transactions on Information and Systems
Extended static checking in JML4: benefits of multiple-prover support
Proceedings of the 2009 ACM symposium on Applied Computing
Algebraic specification techniques for parametric types with logic-based constraints
Proceedings of the 2009 ACM symposium on Applied Computing
Specification Mining with Few False Positives
TACAS '09 Proceedings of the 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009,
Verifying Reference Counting Implementations
TACAS '09 Proceedings of the 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009,
FASE '09 Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Finding Loop Invariants for Programs over Arrays Using a Theorem Prover
FASE '09 Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
A Meta Heuristic for Effectively Detecting Concurrency Errors
HVC '08 Proceedings of the 4th International Haifa Verification Conference on Hardware and Software: Verification and Testing
A randomized dynamic program analysis technique for detecting real deadlocks
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
An integrated proof language for imperative programs
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Snugglebug: a powerful approach to weakest preconditions
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Toward an understanding of bug fix patterns
Empirical Software Engineering
Language-based security on Android
Proceedings of the ACM SIGPLAN Fourth Workshop on Programming Languages and Analysis for Security
Accurate Interprocedural Null-Dereference Analysis for Java
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Koko: engineering affective applications
Proceedings of The 8th International Conference on Autonomous Agents and Multiagent Systems - Volume 2
Strongest postcondition of unstructured programs
Proceedings of the 11th International Workshop on Formal Techniques for Java-like Programs
MODIST: transparent model checking of unmodified distributed systems
NSDI'09 Proceedings of the 6th USENIX symposium on Networked systems design and implementation
Software hardening: a research agenda
Proceedings for the 1st workshop on Script to Program Evolution
Fault localization and repair for Java runtime exceptions
Proceedings of the eighteenth international symposium on Software testing and analysis
Complete Instantiation for Quantified Formulas in Satisfiabiliby Modulo Theories
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
ACM Computing Surveys (CSUR)
Effective interactive proofs for higher-order imperative programs
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Test-data generation guided by static defect detection
Journal of Computer Science and Technology
Generating Verified Java Components through RESOLVE
ICSR '09 Proceedings of the 11th International Conference on Software Reuse: Formal Foundations of Reuse and Domain Engineering
Integration of verification methods for program systems
Programming and Computing Software
On Deciding Satisfiability by DPLL($\Gamma+{\mathcal T}$) and Unsound Theorem Proving
CADE-22 Proceedings of the 22nd International Conference on Automated Deduction
Interpolant Generation for UTVPI
CADE-22 Proceedings of the 22nd International Conference on Automated Deduction
Implicit Dynamic Frames: Combining Dynamic Frames and Separation Logic
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Failboxes: Provably Safe Exception Handling
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
VCC: A Practical System for Verifying Concurrent C
TPHOLs '09 Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics
A factor graph model for software bug finding
IJCAI'07 Proceedings of the 20th international joint conference on Artifical intelligence
Separation Logic Verification of C Programs with an SMT Solver
Electronic Notes in Theoretical Computer Science (ENTCS)
Modular Checking with Model Checking
Electronic Notes in Theoretical Computer Science (ENTCS)
Forcing small models of conditions on program interleaving for detection of concurrent bugs
Proceedings of the 7th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging
An annotation assistant for interactive debugging of programs with common synchronization idioms
Proceedings of the 7th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging
The mythical matched modules: overcoming the tyranny of inflexible software construction
Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications
Demystifying model transformations: an approach based on automated rule inference
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Automatic Inference of Frame Axioms Using Static Analysis
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Solving quantified verification conditions using satisfiability modulo theories
Annals of Mathematics and Artificial Intelligence
A few billion lines of code later: using static analysis to find bugs in the real world
Communications of the ACM
Generating class contracts from UML protocol statemachines
Proceedings of the 6th International Workshop on Model-Driven Engineering, Verification and Validation
An Approach for Refactoring using ESC/Java2 ---A Simple Case Study ---
Proceedings of the 2009 conference on New Trends in Software Methodologies, Tools and Techniques: Proceedings of the Eighth SoMeT_09
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 7th International Workshop on Satisfiability Modulo Theories
HOL-Boogie--An Interactive Prover-Backend for the Verifying C Compiler
Journal of Automated Reasoning
Faster and More Complete Extended Static Checking for the Java Modeling Language
Journal of Automated Reasoning
A UML/MARTE Model Analysis Method for Detection of Data Races in Concurrent Systems
MODELS '09 Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems
Teaching Program Specification and Verification Using JML and ESC/Java2
TFM '09 Proceedings of the 2nd International Conference on Teaching Formal Methods
FM '09 Proceedings of the 2nd World Congress on Formal Methods
An Empirical Study of Structural Constraint Solving Techniques
ICFEM '09 Proceedings of the 11th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
A Verification System for Distributed Objects with Asynchronous Method Calls
ICFEM '09 Proceedings of the 11th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
User-input dependence analysis via graph reachability
User-input dependence analysis via graph reachability
Subroutine Inlining and Bytecode Abstraction to Simplify Static and Dynamic Analysis
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Electronic Notes in Theoretical Computer Science (ENTCS)
Efficient weakest preconditions
Information Processing Letters
Design of a proof repository architecture
Proceedings of the 1st Workshop on Modules and Libraries for Proof Assistants
Butterfly analysis: adapting dataflow analysis to dynamic parallel monitoring
Proceedings of the fifteenth edition of ASPLOS on Architectural support for programming languages and operating systems
ParaLog: enabling and accelerating online parallel monitoring of multithreaded applications
Proceedings of the fifteenth edition of ASPLOS on Architectural support for programming languages and operating systems
Execution suppression: An automated iterative technique for locating memory errors
ACM Transactions on Programming Languages and Systems (TOPLAS)
Existential heap abstraction entailment is undecidable
SAS'03 Proceedings of the 10th international conference on Static analysis
Typestate verification: abstraction techniques and complexity results
SAS'03 Proceedings of the 10th international conference on Static analysis
Pipa: a behavioral interface specification language for aspectJ
FASE'03 Proceedings of the 6th international conference on Fundamental approaches to software engineering
Invariant synthesis for combined theories
VMCAI'07 Proceedings of the 8th international conference on Verification, model checking, and abstract interpretation
A reachability predicate for analyzing low-level software
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
Generating representation invariants of structurally complex data
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
Type-dependence analysis and program transformation for symbolic execution
TACAS'07 Proceedings of the 13th international conference on Tools and algorithms for the construction and analysis of systems
Automatic software model checking using CLP
ESOP'03 Proceedings of the 12th European conference on Programming
Polyglot: an extensible compiler framework for Java
CC'03 Proceedings of the 12th international conference on Compiler construction
Structural abstraction of software verification conditions
CAV'07 Proceedings of the 19th international conference on Computer aided verification
A machine-checked soundness proof for an efficient verification condition generator
Proceedings of the 2010 ACM Symposium on Applied Computing
Combining static and dynamic reasoning for bug detection
TAP'07 Proceedings of the 1st international conference on Tests and proofs
Proving programs incorrect using a sequent calculus for Java dynamic logic
TAP'07 Proceedings of the 1st international conference on Tests and proofs
Testing and verifying invariant based programs in the SOCOS environment
TAP'07 Proceedings of the 1st international conference on Tests and proofs
Verifying object-oriented programs with KeY: a tutorial
FMCO'06 Proceedings of the 5th international conference on Formal methods for components and objects
Verifying heap-manipulating programs in an SMT framework
ATVA'07 Proceedings of the 5th international conference on Automated technology for verification and analysis
Runtime checking for program verification
RV'07 Proceedings of the 7th international conference on Runtime verification
Exploiting shared structure in software verification conditions
HVC'07 Proceedings of the 3rd international Haifa verification conference on Hardware and software: verification and testing
Extending model checking with dynamic analysis
VMCAI'08 Proceedings of the 9th international conference on Verification, model checking, and abstract interpretation
Java bytecode verification for @NonNull types
CC'08/ETAPS'08 Proceedings of the Joint European Conferences on Theory and Practice of Software 17th international conference on Compiler construction
Cooperative bug isolation: winning thesis of the 2005 ACM doctoral dissertation competition
Cooperative bug isolation: winning thesis of the 2005 ACM doctoral dissertation competition
Pex: white box test generation for .NET
TAP'08 Proceedings of the 2nd international conference on Tests and proofs
Elimination of ghost variables in program logics
TGC'07 Proceedings of the 3rd conference on Trustworthy global computing
Automatic certification of Java source code in rewriting logic
FMICS'07 Proceedings of the 12th international conference on Formal methods for industrial critical systems
Verification by parallelization of parametric code
Algebraic and proof-theoretic aspects of non-classical logics
Harnessing rCOS for tool support: the CoCoME experience
Formal methods and hybrid real-time systems
Decoupled lifeguards: enabling path optimizations for dynamic correctness checking tools
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
Null dereference analysis in practice
Proceedings of the 9th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Has the bug really been fixed?
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
DETERMIN: inferring likely deterministic specifications of multithreaded programs
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Building SMT-based software model checkers: an experience report
FroCoS'09 Proceedings of the 7th international conference on Frontiers of combining systems
Verification of object-oriented software: The KeY approach
Verification of object-oriented software: The KeY approach
Towards formal specification and verification of a role-based authorization engine using JML
Proceedings of the 2010 ICSE Workshop on Software Engineering for Secure Systems
Making defect-finding tools work for you
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Translation validation of high-level synthesis
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Analysis of invariants for efficient bounded verification
Proceedings of the 19th international symposium on Software testing and analysis
On theorem proving for program checking: historical perspective and recent developments
Proceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming
A novel analysis space for pointer analysis and its application for bug finding
Science of Computer Programming
Proceedings of the 19th international conference on Parallel architectures and compilation techniques
Gadara: dynamic deadlock avoidance for multithreaded programs
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
Deadlock immunity: enabling systems to defend against deadlocks
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
Automatic inference of abstract type behavior
Proceedings of the IEEE/ACM international conference on Automated software engineering
Specifying and verifying sparse matrix codes
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
What can the GC compute efficiently?: a language for heap assertions at GC time
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Random testing for higher-order, stateful programs
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Practical and effective symbolic analysis for buffer overflow detection
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Rethinking the economics of software engineering
Proceedings of the FSE/SDP workshop on Future of software engineering research
Verifying generics and delegates
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Falling back on executable specifications
ECOOP'10 Proceedings of the 24th European conference on Object-oriented programming
Towards scalable modular checking of user-defined properties
VSTTE'10 Proceedings of the Third international conference on Verified software: theories, tools, experiments
LOCKSMITH: Practical static race detection for C
ACM Transactions on Programming Languages and Systems (TOPLAS)
Refinement types for secure implementations
ACM Transactions on Programming Languages and Systems (TOPLAS)
Reusing a JML Specification Dedicated to Verification for Testing, and Vice-Versa: Case Studies
Journal of Automated Reasoning
A proposal for OpenMP for Java
IWOMP'05/IWOMP'06 Proceedings of the 2005 and 2006 international conference on OpenMP shared memory parallel programming
The .NET primitives for open, dynamic and reflective component frameworks
SC'10 Proceedings of the 9th international conference on Software composition
An overview of the Jahob analysis system: project goals and current status
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Testing techniques in software engineering
Testing techniques in software engineering
Procedure-modular verification of control flow safety properties
Proceedings of the 12th Workshop on Formal Techniques for Java-Like Programs
Static checking of dynamically-varying security policies in database-backed applications
OSDI'10 Proceedings of the 9th USENIX conference on Operating systems design and implementation
Decidable logics combining heap structures and data
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
FloPSy: search-based floating point constraint solving for symbolic execution
ICTSS'10 Proceedings of the 22nd IFIP WG 6.1 international conference on Testing software and systems
Context-bounded translations for concurrent software: an empirical evaluation
SPIN'10 Proceedings of the 17th international SPIN conference on Model checking software
A type and effect system for deadlock avoidance in low-level languages
Proceedings of the 7th ACM SIGPLAN workshop on Types in language design and implementation
Formal Methods in System Design
Dafny: an automatic program verifier for functional correctness
LPAR'10 Proceedings of the 16th international conference on Logic for programming, artificial intelligence, and reasoning
The nullness analyser of JULIA
LPAR'10 Proceedings of the 16th international conference on Logic for programming, artificial intelligence, and reasoning
A modular scheme for deadlock prevention in an object-oriented programming model
ICFEM'10 Proceedings of the 12th international conference on Formal engineering methods and software engineering
Log-based architectures: using multicore to help software behave correctly
ACM SIGOPS Operating Systems Review
Information and Software Technology
Matching logic: an alternative to hoare/floyd logic
AMAST'10 Proceedings of the 13th international conference on Algebraic methodology and software technology
Practical verification for the working programmer with codecontracts and abstract interpretation
VMCAI'11 Proceedings of the 12th international conference on Verification, model checking, and abstract interpretation
Precondition inference from intermittent assertions and application to contracts on collections
VMCAI'11 Proceedings of the 12th international conference on Verification, model checking, and abstract interpretation
ExplainHoudini: making Houdini inference transparent
VMCAI'11 Proceedings of the 12th international conference on Verification, model checking, and abstract interpretation
Typechecking higher-order security libraries
APLAS'10 Proceedings of the 8th Asian conference on Programming languages and systems
Static contract checking with abstract interpretation
FoVeOOS'10 Proceedings of the 2010 international conference on Formal verification of object-oriented software
Improving software diagnosability via log enhancement
Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems
Specification and verification: the Spec# experience
Communications of the ACM
Formalisation and implementation of an algorithm for bytecode verification of @NonNull types
Science of Computer Programming
Statically safe program generation with SafeGen
Science of Computer Programming
Proceedings of the tenth international conference on Aspect-oriented software development
Inferring loop invariants using postconditions
Fields of logic and computation
Pest: from the lab to the classroom
Proceedings of the 1st Workshop on Developing Tools as Plug-ins
A lightweight code analysis and its role in evaluation of a dependability case
Proceedings of the 33rd International Conference on Software Engineering
Dynamic shape analysis of program heap using graph spectra (NIER track)
Proceedings of the 33rd International Conference on Software Engineering
NFM'11 Proceedings of the Third international conference on NASA Formal methods
Midlet navigation graphs in JML
SBMF'10 Proceedings of the 13th Brazilian conference on Formal methods: foundations and applications
JPure:: a modular purity system for java
CC'11/ETAPS'11 Proceedings of the 20th international conference on Compiler construction: part of the joint European conferences on theory and practice of software
Probabilistic, modular and scalable inference of typestate specifications
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Mostly-automated verification of low-level programs in computational separation logic
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Separation logic + superposition calculus = heap theorem prover
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Satisfiability modulo theories: introduction and applications
Communications of the ACM
Modular bug detection with inertial refinement
Proceedings of the 2010 Conference on Formal Methods in Computer-Aided Design
Practical verification of high-level dataraces in transactional memory programs
Proceedings of the Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging
Finding protocol manipulation attacks
Proceedings of the ACM SIGCOMM 2011 conference
Maintaining database integrity with refinement types
Proceedings of the 25th European conference on Object-oriented programming
On Deciding Satisfiability by Theorem Proving with Speculative Inferences
Journal of Automated Reasoning
WP semantics and behavioral subtyping
ICTAC'11 Proceedings of the 8th international conference on Theoretical aspects of computing
Resource allocation contracts for open analytic runtime models
EMSOFT '11 Proceedings of the ninth ACM international conference on Embedded software
On contract satisfaction in a higher-order world
ACM Transactions on Programming Languages and Systems (TOPLAS)
Null dereference verification via over-approximated weakest pre-conditions analysis
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Proceedings of the 10th SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software
Separating ownership topology and encapsulation with generic universe types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Usable verification of object-oriented programs by combining static and dynamic techniques
SEFM'11 Proceedings of the 9th international conference on Software engineering and formal methods
Communications of the ACM
Accurate theorem proving for program verification
ISoLA'04 Proceedings of the First international conference on Leveraging Applications of Formal Methods
Smallfoot: modular automatic assertion checking with separation logic
FMCO'05 Proceedings of the 4th international conference on Formal Methods for Components and Objects
Orion: high-precision methods for static error analysis of c and c++ programs
FMCO'05 Proceedings of the 4th international conference on Formal Methods for Components and Objects
Boogie: a modular reusable verifier for object-oriented programs
FMCO'05 Proceedings of the 4th international conference on Formal Methods for Components and Objects
Unleashing the power of static analysis
SAS'06 Proceedings of the 13th international conference on Static Analysis
SAS'06 Proceedings of the 13th international conference on Static Analysis
Automating verification of loops by parallelization
LPAR'06 Proceedings of the 13th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Allowing state changes in specifications
ETRICS'06 Proceedings of the 2006 international conference on Emerging Trends in Information and Communication Security
A path sensitive type system for resource usage verification of c like languages
APLAS'05 Proceedings of the Third Asian conference on Programming Languages and Systems
Zap: automated theorem proving for software analysis
LPAR'05 Proceedings of the 12th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Dynamic tasks verification with QUASAR
Ada-Europe'05 Proceedings of the 10th Ada-Europe international conference on Reliable Software Technologies
Hybrid contract checking via symbolic simplification
PEPM '12 Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation
JML’s rich, inherited specifications for behavioral subtypes
ICFEM'06 Proceedings of the 8th international conference on Formal Methods and Software Engineering
A statically verifiable programming model for concurrent object-oriented programs
ICFEM'06 Proceedings of the 8th international conference on Formal Methods and Software Engineering
Improving Software Diagnosability via Log Enhancement
ACM Transactions on Computer Systems (TOCS) - Special Issue APLOS 2011
Practical exception specifications
Advanced Topics in Exception Handling Techniques
Shape analysis of low-level c with overlapping structures
VMCAI'10 Proceedings of the 11th international conference on Verification, Model Checking, and Abstract Interpretation
Proving consistency and completeness of model classes using theory interpretation
FASE'10 Proceedings of the 13th international conference on Fundamental Approaches to Software Engineering
Modular verification of static class invariants
FM'05 Proceedings of the 2005 international conference on Formal Methods
The spec# programming system: an overview
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
ESC/Java2: uniting ESC/Java and JML
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
Verification of safety properties in the presence of transactions
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
Purity and side effect analysis for java programs
VMCAI'05 Proceedings of the 6th international conference on Verification, Model Checking, and Abstract Interpretation
Observational purity and encapsulation
FASE'05 Proceedings of the 8th international conference, held as part of the joint European Conference on Theory and Practice of Software conference on Fundamental Approaches to Software Engineering
Formalisation and verification of java card security properties in dynamic logic
FASE'05 Proceedings of the 8th international conference, held as part of the joint European Conference on Theory and Practice of Software conference on Fundamental Approaches to Software Engineering
A two-tier technique for supporting quantifiers in a lazily proof-explicating theorem prover
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Enforcing resource bounds via static verification of dynamic checks
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
An efficient decision procedure for UTVPI constraints
FroCoS'05 Proceedings of the 5th international conference on Frontiers of Combining Systems
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
Cogent: accurate theorem proving for program verification
CAV'05 Proceedings of the 17th international conference on Computer Aided Verification
CADE' 20 Proceedings of the 20th international conference on Automated Deduction
Repairing structurally complex data
SPIN'05 Proceedings of the 12th international conference on Model Checking Software
Certifiable program generation
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
Statically safe program generation with safegen
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
Comparing bug finding tools with reviews and tests
TestCom'05 Proceedings of the 17th IFIP TC6/WG 6.1 international conference on Testing of Communicating Systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Towards automatic exception safety verification
FM'06 Proceedings of the 14th international conference on Formal Methods
Formal reasoning about non-atomic java card methods in dynamic logic
FM'06 Proceedings of the 14th international conference on Formal Methods
Are practitioners writing contracts?
Rigorous Development of Complex Fault-Tolerant Systems
Dynamic architecture extraction
FATES'06/RV'06 Proceedings of the First combined international conference on Formal Approaches to Software Testing and Runtime Verification
A bytecode logic for JML and types
APLAS'06 Proceedings of the 4th Asian conference on Programming Languages and Systems
QuickCheck testing for fun and profit
PADL'07 Proceedings of the 9th international conference on Practical Aspects of Declarative Languages
Generating class contracts from deterministic UML protocol statemachines
MODELS'09 Proceedings of the 2009 international conference on Models in Software Engineering
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
Deadlock-Free channels and locks
ESOP'10 Proceedings of the 19th European conference on Programming Languages and Systems
A polymorphic intermediate verification language: design and logical encoding
TACAS'10 Proceedings of the 16th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Bugs, moles and skeletons: symbolic reasoning for software development
IJCAR'10 Proceedings of the 5th international conference on Automated Reasoning
Exploiting traces in program analysis
TACAS'06 Proceedings of the 12th international conference on Tools and Algorithms for the Construction and Analysis of Systems
A verification methodology for model fields
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
ILC: a foundation for automated reasoning about pointer programs
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Bounded model checking of software using SMT solvers instead of SAT solvers
SPIN'06 Proceedings of the 13th international conference on Model Checking Software
Behavioral interface specification languages
ACM Computing Surveys (CSUR)
DC2: A framework for scalable, scope-bounded software verification
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Science of Computer Programming
Verifying invariant based programs in the SOCOS environment
TFM'06 Proceedings of the 2006 conference on Teaching Formal Methods: practice and experience
Sciduction: combining induction, deduction, and structure for verification and synthesis
Proceedings of the 49th Annual Design Automation Conference
Efficient state merging in symbolic execution
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
A type system for static and dynamic checking of C++ pointers
Computer Languages, Systems and Structures
Verifying the reflective visitor pattern
Proceedings of the 14th Workshop on Formal Techniques for Java-like Programs
Language design and analyzability: a retrospective
Software—Practice & Experience
Detecting inconsistencies via universal reachability analysis
Proceedings of the 2012 International Symposium on Software Testing and Analysis
BugRedux: reproducing field failures for in-house debugging
Proceedings of the 34th International Conference on Software Engineering
Static analysis of Android programs
Information and Software Technology
A system for compositional verification of asynchronous objects
Science of Computer Programming
Diagnosys: automatic generation of a debugging interface to the Linux kernel
Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
Joogie: infeasible code detection for java
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Testing library specifications by verifying conformance tests
TAP'12 Proceedings of the 6th international conference on Tests and Proofs
Predicate abstraction of Java programs with collections
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Reducing the barriers to writing verified specifications
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Modular safety checking for fine-grained concurrency
SAS'07 Proceedings of the 14th international conference on Static Analysis
Conditional model checking: a technique to pass information between verifiers
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Inferring Sufficient Conditions with Backward Polyhedral Under-Approximations
Electronic Notes in Theoretical Computer Science (ENTCS)
SMT proof checking using a logical framework
Formal Methods in System Design
Dual analysis for proving safety and finding bugs
Science of Computer Programming
Towards harnessing theories through tool support for hard real-time Java programming
Innovations in Systems and Software Engineering
Idea: writing secure c programs with secprove
ESSoS'13 Proceedings of the 5th international conference on Engineering Secure Software and Systems
Design pattern-based extension of class hierarchies to support runtime invariant checks
FASE'13 Proceedings of the 16th international conference on Fundamental Approaches to Software Engineering
TACAS'13 Proceedings of the 19th international conference on Tools and Algorithms for the Construction and Analysis of Systems
On exceptions, events and observer chains
Proceedings of the 12th annual international conference on Aspect-oriented software development
Thresher: precise refutations for heap reachability
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Almost-correct specifications: a modular semantic framework for assigning confidence to warnings
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Concurrency bugs in multithreaded software: modeling and analysis using Petri nets
Discrete Event Dynamic Systems
Parallel bounded analysis in code with rich invariants by refinement of field bounds
Proceedings of the 2013 International Symposium on Software Testing and Analysis
Expressing and checking intended changes via software change contracts
Proceedings of the 2013 International Symposium on Software Testing and Analysis
Local Reasoning for Global Invariants, Part II: Dynamic Boundaries
Journal of the ACM (JACM)
Local Reasoning for Global Invariants, Part I: Region Logic
Journal of the ACM (JACM)
Explicating symbolic execution (xSymExe): an evidence-based verification framework
Proceedings of the 2013 International Conference on Software Engineering
Reproducing and debugging field failures in house
Proceedings of the 2013 International Conference on Software Engineering
Second-order constraints in dynamic invariant inference
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
A comparative evaluation of static analysis actionable alert identification techniques
Proceedings of the 9th International Conference on Predictive Models in Software Engineering
Loop summarization using state and transition invariants
Formal Methods in System Design
A graph-based generic type system for object-oriented programs
Frontiers of Computer Science: Selected Publications from Chinese Universities
Inductive invariant generation via abductive inference
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Object ownership in program verification
Aliasing in Object-Oriented Programming
Aliasing in Object-Oriented Programming
A source-to-source transformation tool for error fixing
CASCON '13 Proceedings of the 2013 Conference of the Center for Advanced Studies on Collaborative Research
Software verification with VeriFast: Industrial case studies
Science of Computer Programming
Adoption and use of Java generics
Empirical Software Engineering
Counterexample-guided abstraction refinement for linear programs with arrays
Automated Software Engineering
Hi-index | 0.06 |
Software development and maintenance are costly endeavors. The cost can be reduced if more software defects are detected earlier in the development cycle. This paper introduces the Extended Static Checker for Java (ESC/Java), an experimental compile-time program checker that finds common programming errors. The checker is powered by verification-condition generation and automatic theorem-proving techniques. It provides programmers with a simple annotation language with which programmer design decisions can be expressed formally. ESC/Java examines the annotated software and warns of inconsistencies between the design decisions recorded in the annotations and the actual code, and also warns of potential runtime errors in the code. This paper gives an overview of the checker architecture and annotation language and describes our experience applying the checker to tens of thousands of lines of Java programs.