Types are a good starting point for various software reengineering tasks. Unfortunately, programs requiring reengineering most desperately are written in languages without an adequate type system (such as COBOL). To solve this problem, we propose a method of automated type inference for these languages. The main ingredients are that if variables are compared using some relational operator their types must be the same; likewise if an expression is assigned to a variable, the type of the expression must be a subtype of that of the variable. We present the formal type system and inference rules for this approach, show their effect on various real life COBOL fragments, describe the implementation of our ideas in a prototype type inference t...
Type systems in object-oriented systems are useful tools to ensure correctness, safety, and integrat...
AbstractType inference is the compile-time process of reconstructing missing type information in a p...
Dynamically typed languages lack information about the types of variables in the source code. Develo...
Types are a good starting point for various software reengineering tasks. Unfortunately, programs re...
Types are a good starting point for various software reengineering tasks. Unfortunately, programs re...
In a typical COBOL program, the data division consists of 50 of the lines of code. Automatic type in...
Maintenance of COBOL applications that still exist and work today is an open issue for many companie...
AbstractIn a typical COBOL program, the data division consists of 50% of the lines of code. Automati...
Many business applications today still rely on COBOL programs written decades ago that are difficult...
We show how hypertext-based program understanding tools can achieve new levels of abstraction by usi...
In a typical COBOL program, the data division consists of 50 % of the lines of code. Automatic type ...
AbstractWe show how hypertext-based program understanding tools can achieve new levels of abstractio...
We combine type inference and concept analysis in order to gain insight into legacy software systems...
Abstract. Weakly-typed languages such as Cobol often force program-mers to represent distinct data a...
Type-checked object-oriented languages have typically been designed with extremely simple type syste...
Type systems in object-oriented systems are useful tools to ensure correctness, safety, and integrat...
AbstractType inference is the compile-time process of reconstructing missing type information in a p...
Dynamically typed languages lack information about the types of variables in the source code. Develo...
Types are a good starting point for various software reengineering tasks. Unfortunately, programs re...
Types are a good starting point for various software reengineering tasks. Unfortunately, programs re...
In a typical COBOL program, the data division consists of 50 of the lines of code. Automatic type in...
Maintenance of COBOL applications that still exist and work today is an open issue for many companie...
AbstractIn a typical COBOL program, the data division consists of 50% of the lines of code. Automati...
Many business applications today still rely on COBOL programs written decades ago that are difficult...
We show how hypertext-based program understanding tools can achieve new levels of abstraction by usi...
In a typical COBOL program, the data division consists of 50 % of the lines of code. Automatic type ...
AbstractWe show how hypertext-based program understanding tools can achieve new levels of abstractio...
We combine type inference and concept analysis in order to gain insight into legacy software systems...
Abstract. Weakly-typed languages such as Cobol often force program-mers to represent distinct data a...
Type-checked object-oriented languages have typically been designed with extremely simple type syste...
Type systems in object-oriented systems are useful tools to ensure correctness, safety, and integrat...
AbstractType inference is the compile-time process of reconstructing missing type information in a p...
Dynamically typed languages lack information about the types of variables in the source code. Develo...