Ownership types: A survey
Ownership types were devised nearly 15 years ago to provide a stronger notion of protection
to object-oriented programming languages. Rather than simply protecting the fields of an …
to object-oriented programming languages. Rather than simply protecting the fields of an …
Type analysis for JavaScript
JavaScript is the main scripting language for Web browsers, and it is essential to modern
Web applications. Programmers have started using it for writing complex applications, but …
Web applications. Programmers have started using it for writing complex applications, but …
Control-flow analysis of functional programs
J Midtgaard - ACM computing surveys (CSUR), 2012 - dl.acm.org
We present a survey of control-flow analysis of functional programs, which has been the
subject of extensive investigation throughout the past 30 years. Analyses of the control flow …
subject of extensive investigation throughout the past 30 years. Analyses of the control flow …
Flow-sensitive type qualifiers
We present a system for extending standard type systems with flow-sensitive type qualifiers.
Users annotate their programs with type qualifiers, and inference checks that the …
Users annotate their programs with type qualifiers, and inference checks that the …
Modular static program analysis
P Cousot, R Cousot - International Conference on Compiler Construction, 2002 - Springer
The purpose of this paper is to present four basic methods for compositional separate
modular static analysis of programs by abstract interpretation:-simplification-based separate …
modular static analysis of programs by abstract interpretation:-simplification-based separate …
Abstract interpretation based formal methods and future challenges
P Cousot - Informatics: 10 Years Back, 10 Years Ahead, 2001 - Springer
In order to contribute to the solution of the software reliability problem, tools have been
designed to analyze statically the run-time behavior of programs. Because the correctness …
designed to analyze statically the run-time behavior of programs. Because the correctness …
Static detection of asymptotic performance bugs in collection traversals
This paper identifies and formalizes a prevalent class of asymptotic performance bugs called
redundant traversal bugs and presents a novel static analysis for automatically detecting …
redundant traversal bugs and presents a novel static analysis for automatically detecting …
Abstracting definitional interpreters (functional pearl)
In this functional pearl, we examine the use of definitional interpreters as a basis for abstract
interpretation of higher-order programming languages. As it turns out, definitional …
interpretation of higher-order programming languages. As it turns out, definitional …
Path-sensitive and alias-aware typestate analysis for detecting os bugs
Operating system (OS) is the cornerstone for modern computer systems. It manages devices
and provides fundamental service for user-level applications. Thus, detecting bugs in OSes …
and provides fundamental service for user-level applications. Thus, detecting bugs in OSes …
Improving flow analyses via ΓCFA: Abstract garbage collection and counting
We present two independent and complementary improvements for flow-based analysis of
higher-order languages:(1) abstract garbage collection and (2) abstract counting …
higher-order languages:(1) abstract garbage collection and (2) abstract counting …