|
ABSTRACT
We present a new method, based on a form of dependent typing, to verify the correct usage of resources in a program. Our approach allows complex resources to be specified, whose properties are captured by annotated types and conditions on invariance and final states. The protocol itself is specified through a set of pre-defined methods, whose pre-condition and post-condition together, enforce the correct temporal usage of each resource type. We design a simple language together with a type system that shows how resource protocol verification can be achieved. We formalise an operational semantics for the language and provide a correctness proof which confirms that well-typed programs conform to the specified protocol of each resource type.
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
|
Martín Abadi and Bruno Blanchet. Computer-Assisted Verification of a Protocol for Certified Email. In Radhia Cousot, editor, Proceedings of the International Static Analysis Symposium (SAS), volume 2694 of Lecture Notes on Computer Science, pages 316--335, San Diego, California, June 2003. Springer Verlag.
|
 |
2
|
Jonathan Aldrich , Valentin Kostadinov , Craig Chambers, Alias annotations for program understanding, Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, November 04-08, 2002, Seattle, Washington, USA
|
| |
3
|
Hugh Anderson and Siau-Cheng Khoo. Affine-based size-change termination. In Proceedings of the Asian Symposium on Programming Languages and Systems (APLAS), June 2003.
|
 |
4
|
|
| |
5
|
|
 |
6
|
|
| |
7
|
W.N. Chin, S.C. Khoo, and S.C. Qin. A Sized Type System for Objects with Alias Controls. Technical report, SoC, Natl Univ. of Singapore, January 2004. avail. at http://www.comp.nus.edu.sg/~qinsc/papers/sizedtype.ps.gz.
|
| |
8
|
|
 |
9
|
|
 |
10
|
|
 |
11
|
|
| |
12
|
|
 |
13
|
|
| |
14
|
Thomas A. Henzinger, Ranjit Jhala, Rupak Majumdar, and Gregoire Sutre. Software verification with Blast. In Proceedings of the Tenth International Workshop on Model Checking of Software (SPIN), pages 235--239. Lecture Notes in Computer Science 2648, Springer-Verlag, 2003.
|
 |
15
|
|
 |
16
|
|
 |
17
|
John Hughes , Lars Pareto , Amr Sabry, Proving the correctness of reactive systems using sized types, Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.410-423, January 21-24, 1996, St. Petersburg Beach, Florida, United States
[doi> 10.1145/237721.240882]
|
 |
18
|
|
| |
19
|
Naoki Kobayashi. Time regions and effects for resource usage analysis. Technical report, Tokyo Inst. of technology, 2003.
|
 |
20
|
|
| |
21
|
Kim Marriott, Peter Stuckey, and Martin Sulzmann. Resource usage verification. In Proceedings of the Asian Symposium on Programming Languages and Systems (APLAS), Beijing, China, November 2003.
|
| |
22
|
|
 |
23
|
|
| |
24
|
|
| |
25
|
|
| |
26
|
|
| |
27
|
|
 |
28
|
|
CITED BY
|
|
Wei-Ngan Chin , Siau-Cheng Khoo , Shengchao Qin , Corneliu Popeea , Huu Hai Nguyen, Verifying safety policies with size properties and alias controls, Proceedings of the 27th international conference on Software engineering, May 15-21, 2005, St. Louis, MO, USA
|
|