Implementing mathematics with the Nuprl proof development system
Implementing mathematics with the Nuprl proof development system
Introduction to algorithms
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Eliminating false data dependences using the Omega test
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Design and implementation of practical constraint logic programming systems
Design and implementation of practical constraint logic programming systems
Optimizing array bound checks using flow analysis
ACM Letters on Programming Languages and Systems (LOPLAS)
Refinement types for ML
Experiences with constraint-based array dependence analysis
Experiences with constraint-based array dependence analysis
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The design and implementation of a certifying compiler
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
On the SUP-INF Method for Proving Presburger Formulas
Journal of the ACM (JACM)
Implementation of an array bound checker
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Singleton, Union and Intersection Types for Program Extraction
TACS '91 Proceedings of the International Conference on Theoretical Aspects of Computer Software
PVS: Combining Specification, Proof Checking, and Model Checking
CAV '96 Proceedings of the 8th International Conference on Computer Aided Verification
Optimization of range checking
SIGPLAN '82 Proceedings of the 1982 SIGPLAN symposium on Compiler construction
NESL: A Nested Data-Parallel Language (Version 2.6)
NESL: A Nested Data-Parallel Language (Version 2.6)
A portable machine-independent global optimizer--design and measurements
A portable machine-independent global optimizer--design and measurements
Dependent types in practical programming
Dependent types in practical programming
Practical refinement-type checking
Practical refinement-type checking
Dependent types in practical programming
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Dynamically discovering likely program invariants to support program evolution
Proceedings of the 21st international conference on Software engineering
From system F to typed assembly language
ACM Transactions on Programming Languages and Systems (TOPLAS)
A type system for expressive security policies
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
PEPM '00 Proceedings of the 2000 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
ABCD: eliminating array bounds checks on demand
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Dynamically Discovering Likely Program Invariants to Support Program Evolution
IEEE Transactions on Software Engineering - Special issue on 1999 international conference on software engineering
A dependently typed assembly language
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Higher-Order and Symbolic Computation
An expressive, scalable type theory for certified code
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Tagless staged interpreters for typed languages
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Elimination of Java array bounds checks in the presence of indirection
JGI '02 Proceedings of the 2002 joint ACM-ISCOPE conference on Java Grande
A type theory for memory allocation and data layout
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The logical approach to stack typing
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
CPS Translations and Applications: The Cube and Beyond
Higher-Order and Symbolic Computation
Dependent Types for Program Termination Verification
Higher-Order and Symbolic Computation
Automated techniques for provably safe mobile code
Theoretical Computer Science - Dependable computing
Dead Code Elimination through Dependent Types
PADL '99 Proceedings of the First International Workshop on Practical Aspects of Declarative Languages
MFCS '99 Proceedings of the 24th International Symposium on Mathematical Foundations of Computer Science
Deriving Pre-conditions for Array Bound Check Elimination
PADO '01 Proceedings of the Second Symposium on Programs as Data Objects
System-Level Types for Component-Based Design
EMSOFT '01 Proceedings of the First International Workshop on Embedded Software
A Language-Based Approach to Security
Informatics - 10 Years Back. 10 Years Ahead.
An Introduction to Dependent Type Theory
Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
Extending sized type with collection analysis
Proceedings of the 2003 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Towards array bound check elimination in Java TM virtual machine language
CASCON '99 Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research
Imperative Programming with Dependent Types
LICS '00 Proceedings of the 15th Annual IEEE Symposium on Logic in Computer Science
An effective theory of type refinements
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Type-based termination of recursive definitions
Mathematical Structures in Computer Science
Implicit java array bounds checking on 64-bit architecture
Proceedings of the 18th annual international conference on Supercomputing
A type system for resource protocol verification and its correctness proof
Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Automatic Type-Driven Library Generation for Telescoping Languages
Proceedings of the 2003 ACM/IEEE conference on Supercomputing
ACM SIGPLAN Notices
Symbolic bounds analysis of pointers, array indices, and accessed memory regions
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
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Proceedings of the 2005 ACM SIGPLAN workshop on Haskell
A class of polynomially solvable range constraints for interval analysis without widenings
Theoretical Computer Science - Tools and algorithms for the construction and analysis of systems (TACAS 2004)
An algebraic array shape inference system for MATLAB®
ACM Transactions on Programming Languages and Systems (TOPLAS)
Implicit array bounds checking on 64-bit architectures
ACM Transactions on Architecture and Code Optimization (TACO)
A garbage-collecting typed assembly language
TLDI '07 Proceedings of the 2007 ACM SIGPLAN international workshop on Types in languages design and implementation
Dependent ML An approach to practical programming with dependent types
Journal of Functional Programming
Concoqtion: indexed types now!
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Enhancing server availability and security through failure-oblivious computing
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
Lightweight Static Capabilities
Electronic Notes in Theoretical Computer Science (ENTCS)
Type-level Computation Using Narrowing in Ωmega
Electronic Notes in Theoretical Computer Science (ENTCS)
Melange: creating a "functional" internet
Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007
A practical and precise inference and specializer for array bound checks elimination
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Ynot: dependent types for imperative programs
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Abstract Interpretation Plugins for Type Systems
AMAST 2008 Proceedings of the 12th international conference on Algebraic Methodology and Software Technology
Central European Functional Programming School
Constrained types for object-oriented languages
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Proceedings of the 3rd workshop on Programming languages meets program verification
Towards type-theoretic semantics for transactional concurrency
Proceedings of the 4th international workshop on Types in language design and implementation
Hoare type theory, polymorphism and separation1
Journal of Functional Programming
Dependent type inference with interpolants
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
On optimising shape-generic array programs using symbolic structural information
IFL'06 Proceedings of the 18th international conference on Implementation and application of functional languages
Computer security from a programming language and static analysis perspective
ESOP'03 Proceedings of the 12th European conference on Programming
SSDGP'06 Proceedings of the 2006 international conference on Datatype-generic programming
The nuggetizer: abstracting away higher-orderness for program verification
APLAS'07 Proceedings of the 5th Asian conference on Programming languages and systems
Fast bounds checking using debug register
HiPEAC'08 Proceedings of the 3rd international conference on High performance embedded architectures and compilers
On-demand refinement of dependent types
FLOPS'08 Proceedings of the 9th international conference on Functional and logic programming
Pentagons: A weakly relational abstract domain for the efficient validation of array accesses
Science of Computer Programming
Dependent session types via intuitionistic linear type theory
Proceedings of the 13th international ACM SIGPLAN symposium on Principles and practices of declarative programming
Descriptor-free representation of arrays with dependent types
IFL'08 Proceedings of the 20th international conference on Implementation and application of functional languages
Eliminating partially-redundant array-bounds check in the Android Dalvik JIT compiler
Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
Dsolve: safety verification via liquid types
CAV'10 Proceedings of the 22nd international conference on Computer Aided Verification
Memory usage verification for OO programs
SAS'05 Proceedings of the 12th international conference on Static Analysis
Epigram: practical programming with dependent types
AFP'04 Proceedings of the 5th international conference on Advanced Functional Programming
A dependently typed framework for static analysis of program execution costs
IFL'05 Proceedings of the 17th international conference on Implementation and Application of Functional Languages
ILC: a foundation for automated reasoning about pointer programs
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Static consistency checking for Verilog wire interconnects
Higher-Order and Symbolic Computation
Dependently typed programming with singletons
Proceedings of the 2012 Haskell Symposium
Typed tagless final interpreters
SSGIP'10 Proceedings of the 2010 international spring school conference on Generic and Indexed Programming
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Programming languages for high-assurance autonomous vehicles: extended abstract
Proceedings of the ACM SIGPLAN 2014 Workshop on Programming Languages meets Program Verification
Hi-index | 0.00 |
We present a type-based approach to eliminating array bound checking and list tag checking by conservatively extending Standard ML with a restricted form of dependent types. This enables the programmer to capture more invariants through types while type-checking remains decidable in theory and can still be performed efficiently in practice. We illustrate our approach through concrete examples and present the result of our preliminary experiments which support support the feasibility and effectiveness of our approach.