Detecting conflicts between structure accesses
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
TICL—a type inference system for common Lisp
Software—Practice & Experience
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Partial type inference for untyped functional programs
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Analysis of pointers and structures
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Declaration-free type checking
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Constant propagation with conditional branches
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A Scheme for the Automatic Inference of Variable Types
Journal of the ACM (JACM)
A general scheme for the automatic inference of variable types
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Type checking in an imperfect world
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
CMU Common Lisp User''s Manual
CMU Common Lisp User''s Manual
Type flow analysis for exploratory software development
Type flow analysis for exploratory software development
ACM Letters on Programming Languages and Systems (LOPLAS)
Soft typing with conditional types
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A general data dependence test for dynamic, pointer-based data structures
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Dynamic typing and subtype inference
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Eliminating Dead Code on Recursive Data
SAS '99 Proceedings of the 6th International Symposium on Static Analysis
Eliminating dead code on recursive data
Science of Computer Programming - Special issue on static analysis (SAS'99)
Hi-index | 0.02 |
We introduce a new algorithm to analyze recursive, structured types. It derives information from object uses (accesser functions with type checking), as well as from object allocation. The type description is a form of graph grammar and is naturally finite even in the presence of loops. The intended use of the algorithm is to discover and remove unnecessary type checks, but it can be augmented to provide alias information as well.