Highly dynamic languages like Smalltalk do not have much static type information immediately available before the program runs. Static types can still be inferred by analysis tools, but historically, such analysis is only effective on smaller programs of at most a few tens of thousands of lines of code. This dissertation presents a new type inference algorithm, DDP, that is effective on larger programs with hundreds of thousands of lines of code. The approach of the algorithm borrows from the field of knowledge-based systems: it is a demand-driven algorithm that sometimes prunes subgoals. The algorithm is formally described, proven correct, and implemented. Experimental results show that the inferred types are usefully prec...
Many computer programs have the property that they work correctly on a variety of types of input; s...
Subtyping appears in a variety of programming languages, in the form of the "automatic coercion...
International audienceDynamically typed languages allow developers to write more expressive source c...
Highly dynamic languages like Smalltalk do not have much static type information immediately availab...
The Typed Smalltalk project is building an optimizing compiler for a variant of Smalltalk. Typed Sma...
Reverse-engineering program binaries often relies on the recovery of high-level data abstractions. I...
Although dynamically typed languages allow developers to be more productive in writing source code, ...
The lack of static type information in dynamically-typed languages often poses obstacles for develop...
AbstractType inference is the compile-time process of reconstructing missing type information in a p...
International Workshop on Smalltalk TechnologiesInternational audienceDynamically typed languages pr...
Static type information facilitates program comprehension and analysis. Yet, such information is abs...
We have designed and implemented a type inference algorithm for the full SELF language. The algorit...
International audienceBeing able to combine static and dynamic typing within the same language has c...
Type inference is a key component of modern statically typed programming languages. It allows progra...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
Many computer programs have the property that they work correctly on a variety of types of input; s...
Subtyping appears in a variety of programming languages, in the form of the "automatic coercion...
International audienceDynamically typed languages allow developers to write more expressive source c...
Highly dynamic languages like Smalltalk do not have much static type information immediately availab...
The Typed Smalltalk project is building an optimizing compiler for a variant of Smalltalk. Typed Sma...
Reverse-engineering program binaries often relies on the recovery of high-level data abstractions. I...
Although dynamically typed languages allow developers to be more productive in writing source code, ...
The lack of static type information in dynamically-typed languages often poses obstacles for develop...
AbstractType inference is the compile-time process of reconstructing missing type information in a p...
International Workshop on Smalltalk TechnologiesInternational audienceDynamically typed languages pr...
Static type information facilitates program comprehension and analysis. Yet, such information is abs...
We have designed and implemented a type inference algorithm for the full SELF language. The algorit...
International audienceBeing able to combine static and dynamic typing within the same language has c...
Type inference is a key component of modern statically typed programming languages. It allows progra...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
Many computer programs have the property that they work correctly on a variety of types of input; s...
Subtyping appears in a variety of programming languages, in the form of the "automatic coercion...
International audienceDynamically typed languages allow developers to write more expressive source c...