Static type information facilitates program comprehension and analysis. Yet, such information is absent in dynamically-typed languages, and that increases the time needed for software maintenance. Type inference algorithms may provide type information to developers, but in order to be fast and assist in development phase, they sacrifice the precision for speed. One of the biggest obstacles for their precision is polymorphism presence. In this thesis we first analyse the prevalence of polymorphism in object-oriented software, to assess the criticality it imposes on simple type inference. We find that polymorphism is omnipresent in object-oriented code, and that static analysis in dynamically-typed languages is also hampered by the usage of...
The lack of static type information in dynamically-typed languages often poses obstacles for develop...
Dynamically typed languages are becoming increasingly popular for different software development sce...
Since the 1990s, scripting languages (e.g. Python, Ruby, JavaScript, and many others) have gained wi...
Static type information facilitates program comprehension and analysis. Yet, such information is abs...
Dynamically-typed languages allow faster software development by not posing the type constraints. St...
Although dynamically typed languages allow developers to be more productive in writing source code, ...
Type inference is a key component of modern statically typed programming languages. It allows progra...
In recent years, two developments in the design of programming languages have yielded significant im...
Traditional techniques for implementing polymorphism use a universal representation for objects of u...
AbstractThe aim of this work is largely a practical one. A widely employed style of programming, par...
We present a static type system for object-oriented languages which strives to provide static typech...
We have designed and implemented a type inference algorithm for the full SELF language. The algorit...
International audienceDynamically typed languages allow developers to write more expressive source c...
International Workshop on Smalltalk TechnologiesInternational audienceDynamically typed languages pr...
Type inference and type reconstruction derive static types for program elements that have no static...
The lack of static type information in dynamically-typed languages often poses obstacles for develop...
Dynamically typed languages are becoming increasingly popular for different software development sce...
Since the 1990s, scripting languages (e.g. Python, Ruby, JavaScript, and many others) have gained wi...
Static type information facilitates program comprehension and analysis. Yet, such information is abs...
Dynamically-typed languages allow faster software development by not posing the type constraints. St...
Although dynamically typed languages allow developers to be more productive in writing source code, ...
Type inference is a key component of modern statically typed programming languages. It allows progra...
In recent years, two developments in the design of programming languages have yielded significant im...
Traditional techniques for implementing polymorphism use a universal representation for objects of u...
AbstractThe aim of this work is largely a practical one. A widely employed style of programming, par...
We present a static type system for object-oriented languages which strives to provide static typech...
We have designed and implemented a type inference algorithm for the full SELF language. The algorit...
International audienceDynamically typed languages allow developers to write more expressive source c...
International Workshop on Smalltalk TechnologiesInternational audienceDynamically typed languages pr...
Type inference and type reconstruction derive static types for program elements that have no static...
The lack of static type information in dynamically-typed languages often poses obstacles for develop...
Dynamically typed languages are becoming increasingly popular for different software development sce...
Since the 1990s, scripting languages (e.g. Python, Ruby, JavaScript, and many others) have gained wi...