|
ABSTRACT
It is an important criterion of program correctness that a program accesses resources in a valid manner. For example, a memory region that has been allocated should eventually be deallocated, and after the deallocation, the region should no longer be accessed. A file that has been opened should be eventually closed. So far, most of the methods to analyze this kind of property have been proposed in rather specific contexts (like studies of memory management and verification of usage of lock primitives), and it was not clear what the essence of those methods was or how methods proposed for individual problems are related. To remedy this situation, we formalize a general problem of analyzing resource usage as a resource usage analysis problem, and propose a type-based method as a solution to the problem.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
Alexander Aiken , Manuel Fähndrich , Raph Levien, Better static memory management: improving region-based analysis of higher-order languages, Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation, p.174-185, June 18-21, 1995, La Jolla, California, United States
|
 |
2
|
|
| |
3
|
Bigliardi, G. and Laneve, C. 2000. A type system for JVM threads. In Proceedings of 3rd ACM SIGPLAN Workshop on Types in Compilation (TIC2000) (Montreal, Que., Canada). ACM, New York.
|
 |
4
|
Lars Birkedal , Mads Tofte , Magnus Vejlstrup, From region inference to von Neumann machines via region representation inference, Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.171-183, January 21-24, 1996, St. Petersburg Beach, Florida, United States
[doi> 10.1145/237721.237771]
|
 |
5
|
|
 |
6
|
|
 |
7
|
|
 |
8
|
|
| |
9
|
|
| |
10
|
|
| |
11
|
|
 |
12
|
Cormac Flanagan , K. Rustan M. Leino , Mark Lillibridge , Greg Nelson , James B. Saxe , Raymie Stata, Extended static checking for Java, Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation, June 17-19, 2002, Berlin, Germany
|
 |
13
|
|
 |
14
|
|
| |
15
|
|
 |
16
|
|
 |
17
|
Dan Grossman , Greg Morrisett , Trevor Jim , Michael Hicks , Yanling Wang , James Cheney, Region-based memory management in cyclone, Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation, June 17-19, 2002, Berlin, Germany
|
| |
18
|
|
| |
19
|
|
 |
20
|
Thomas A. Henzinger , Ranjit Jhala , Rupak Majumdar , Grégoire Sutre, Lazy abstraction, Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.58-70, January 16-18, 2002, Portland, Oregon
|
| |
21
|
Igarashi, A. and Kobayashi, N. 2000a. Garbage collection based on a linear type system. In Proceedings of 3rd ACM SIGPLAN Workshop on Types in Compilation (TIC2000) (Montreal, Que., Canada) ACM, New York. (Published as Technical Report CMU-CS-00-161, Carnegie Mellon University, Pittsburgh, PA.)
|
| |
22
|
|
| |
23
|
|
 |
24
|
|
| |
25
|
|
| |
26
|
Kanellakis, P. C., Mairson, H. G., and Mitchell, J. C. 1991. Unification and ML type reconstruction. In Computational Logic: Essays in Honor of Alan Robinson, J.-L. Lassez and G. D. Plotkin, Eds. The MIT Press, Cambridge, Mass., 444--478.
|
 |
27
|
|
 |
28
|
|
| |
29
|
|
 |
30
|
|
| |
31
|
|
| |
32
|
|
 |
33
|
Greg Morrisett , Matthias Felleisen , Robert Harper, Abstract models of memory management, Proceedings of the seventh international conference on Functional programming languages and computer architecture, p.66-77, June 26-28, 1995, La Jolla, California, United States
[doi> 10.1145/224164.224182]
|
| |
34
|
|
| |
35
|
|
| |
36
|
|
| |
37
|
Sumii, E. and Kobayashi, N. 1998. A generalized deadlock-free process calculus. In Proc. of Workshop on High-Level Concurrent Language (HLCL'98). ENTCS, vol. 16(3). 55--77.
|
 |
38
|
|
 |
39
|
David N. Turner , Philip Wadler , Christian Mossin, Once upon a type, Proceedings of the seventh international conference on Functional programming languages and computer architecture, p.1-11, June 26-28, 1995, La Jolla, California, United States
[doi> 10.1145/224164.224168]
|
| |
40
|
Wadler, P. 1990. Linear types can change the world! In Programming Concepts and Methods. North Holland, Amsterdam, The Netherland.
|
 |
41
|
|
 |
42
|
|
 |
43
|
|
REVIEW
"Dachuan Yu : Reviewer"
The use of resources is an indispensable part of most programs. Some common examples of resources include memory cells, files, locks, sockets, and devices. For a program to function correctly, accesses to resources must be properly regulated. More
more...
|