Implementing mathematics with the Nuprl proof development system
Implementing mathematics with the Nuprl proof development system
Theoretical Computer Science
Verification of sequential and concurrent programs
Verification of sequential and concurrent programs
Dependent types in practical programming
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Model checking
An axiomatic basis for computer programming
Communications of the ACM
CCured: type-safe retrofitting of legacy code
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A dependently typed assembly language
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Flow-sensitive type qualifiers
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Adoption and focus: practical linear types for imperative programming
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Guarded recursive datatype constructors
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Separation Logic: A Logic for Shared Mutable Data Structures
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
Imperative Programming with Dependent Types
LICS '00 Proceedings of the 15th Annual IEEE Symposium on Logic in Computer Science
Dependent types in practical programming
Dependent types in practical programming
An effective theory of type refinements
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Fail-safe ANSI-C compiler: an approach to making C programs secure
ISSS'02 Proceedings of the 2002 Mext-NSF-JSPS international conference on Software security: theories and systems
A language-based approach to functionally correct imperative programming
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Polymorphism and separation in hoare type theory
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
A garbage-collecting typed assembly language
TLDI '07 Proceedings of the 2007 ACM SIGPLAN international workshop on Types in languages design and implementation
Implementing reliable Linux device drivers in ATS
PLPV '07 Proceedings of the 2007 workshop on Programming languages meets program verification
Full functional verification of linked data structures
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Functional translation of a calculus of capabilities
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Programming with Proofs: Language-Based Approaches to Totally Correct Software
Verified Software: Theories, Tools, Experiments
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
Parameterised notions of computation
Journal of Functional Programming
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Decision procedures for algebraic data types with abstractions
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Operating system development with ATS: work in progress
Proceedings of the 4th ACM SIGPLAN workshop on Programming languages meets program verification
Proceedings of the 4th ACM SIGPLAN workshop on Programming languages meets program verification
Lightweight linear types in system f°
Proceedings of the 5th ACM SIGPLAN workshop on Types in language design and implementation
Abstract predicates and mutable adts in hoare type theory
ESOP'07 Proceedings of the 16th European conference on Programming
Lolliproc: to concurrency from classical linear logic via curry-howard and control
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
A modality for safe resource sharing and code reentrancy
ICTAC'10 Proceedings of the 7th International colloquium conference on Theoretical aspects of computing
Verifying stateful programs with substructural state and hoare types
Proceedings of the 5th ACM workshop on Programming languages meets program verification
System description: ATS: a language that combines programming with theorem proving
FroCoS'05 Proceedings of the 5th international conference on Frontiers of Combining Systems
ILC: a foundation for automated reasoning about pointer programs
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
A linear type system for multicore programming in ATS
Science of Computer Programming
Hi-index | 0.00 |
The need for direct memory manipulation through pointers is essential in many applications. However, it is also commonly understood that the use (or probably misuse) of pointers is often a rich source of program errors. Therefore, approaches that can effectively enforce safe use of pointers in programming are highly sought after. ATS is a programming language with a type system rooted in a recently developed framework Applied Type System, and a novel and desirable feature in ATS lies in its support for safe programming with pointers through a novel notion of stateful views. In particular, even pointer arithmetic is allowed in ATS and guaranteed to be safe by the type system of ATS. In this paper, we give an overview of this feature in ATS, presenting some interesting examples based on a prototype implementation of ATS to demonstrate the practicality of safe programming with pointer through stateful views.