Typestate: A programming language concept for enhancing software reliability
IEEE Transactions on Software Engineering
Polymorphic type inference for languages with overloading and subtyping
Polymorphic type inference for languages with overloading and subtyping
Better static memory management: improving region-based analysis of higher-order languages
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A type system for object initialization in the Java bytecode language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Typed memory management via static capabilities
ACM Transactions on Programming Languages and Systems (TOPLAS)
Enforcing high-level protocols in low-level software
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Chaff: engineering an efficient SAT solver
Proceedings of the 38th annual Design Automation Conference
The SLAM project: debugging system software via static analysis
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Flow-sensitive type qualifiers
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
ESP: path-sensitive program verification in polynomial time
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Extended static checking for Java
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Time regions and effects for resource usage analysis
Proceedings of the 2003 ACM SIGPLAN international workshop on Types in languages design and implementation
Theoretical Computer Science
ESOP '99 Proceedings of the 8th European Symposium on Programming Languages and Systems
CONCUR '99 Proceedings of the 10th International Conference on Concurrency Theory
The Effects of the Precision of Pointer Analysis
SAS '97 Proceedings of the 4th International Symposium on Static Analysis
Modular verification of software components in C
Proceedings of the 25th International Conference on Software Engineering
Software validation via scalable path-sensitive value flow analysis
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Scalable error detection using boolean satisfiability
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Checking system rules using system-specific, programmer-written compiler extensions
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
Inserting safe memory reuse commands into ML-like programs
SAS'03 Proceedings of the 10th international conference on Static analysis
Typestate verification: abstraction techniques and complexity results
SAS'03 Proceedings of the 10th international conference on Static analysis
Software verification with BLAST
SPIN'03 Proceedings of the 10th international conference on Model checking software
A bottom-up pointer analysis using the update history
Information and Software Technology
Hi-index | 0.00 |
In this paper, we present a path sensitive type system for resource usage verification. Path sensitivity is essential to model resource usage in C programs correctly and accurately. So far, most of methods to analyze this kind of property in the path sensitive way have been proposed as whole program analyses or unsound analyses. Our main contributions are as follows. First, we formalize a sound analysis for path sensitive resource usage properties in C like languages. To the best of our knowledge, it is the first sound and modular analysis for this problem. We provide the complete proof for the soundness of the type system and algorithm. Second, our analysis is modular, and we provide an inference algorithm to generate function summaries automatically. We believe that our approach suggests new insights into the design of modular analyses.