2005
DOI: 10.1007/978-3-540-31980-1_11
|View full text |Cite
|
Sign up to set email alerts
|

Dependent Types for Program Understanding

Abstract: Abstract. Weakly-typed languages such as Cobol often force programmers to represent distinct data abstractions using the same low-level physical type. In this paper, we describe a technique to recover implicitlydefined data abstractions from programs using type inference. We present a novel system of dependent types which we call guarded types, a pathsensitive algorithm for inferring guarded types for Cobol programs, and a semantic characterization of correct guarded typings. The results of our inference techn… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
19
0

Year Published

2007
2007
2011
2011

Publication Types

Select...
4
2
1

Relationship

1
6

Authors

Journals

citations
Cited by 22 publications
(19 citation statements)
references
References 9 publications
0
19
0
Order By: Relevance
“…x). Third, the treatment of combinations of tests relies on an ad-hoc collection of rules.1 Komondoor et al [2005] independently coined the term "occurrence typing" in the context of providing an advanced type system for COBOL.In this paper, we present a new and simple framework for occurrence typing that eliminates all three problems via an increase in expressive power. The key innovation is to turn control flow predicates into formulas in propositional logic for reasoning about the types of variables.…”
mentioning
confidence: 99%
“…x). Third, the treatment of combinations of tests relies on an ad-hoc collection of rules.1 Komondoor et al [2005] independently coined the term "occurrence typing" in the context of providing an advanced type system for COBOL.In this paper, we present a new and simple framework for occurrence typing that eliminates all three problems via an increase in expressive power. The key innovation is to turn control flow predicates into formulas in propositional logic for reasoning about the types of variables.…”
mentioning
confidence: 99%
“…In [11] researchers present an analysis of Cobol programs that recovers information corresponding to tagged unions. The work on the C programming language [9,2] deals with a language that allows subtle pointer and address arithmetic manipulations, but already contains significant static type information.…”
Section: Related Workmentioning
confidence: 99%
“…However, because Cobol has no notion of user-defined types, information about such classes is not evident from examining the data declarations in the program. In previous work [7,12], we have presented algorithms for inferring a logical data model from a Cobol application. A logical data model links program variables to classes (logical types), thus identifying variables of the same class; it also contains inheritance and containment relationships between the classes.…”
Section: Events Related To Logical Typesmentioning
confidence: 99%