Abstract—A common practice when writing Smalltalk source code is to name method arguments in a way that hints at their expected type (i.e., aString, anInteger, aDictionary). This practice makes code more readable, but the prevalence of this practice is unknown, thus its reliability is questionable. Tools such as the auto complete feature in the Pharo Smalltalk code editor rely on these hints to improve the developer experience. The default algorithm used in Pharo to extract type information from these hints succeeds in extracting a type in slightly over 36 % of method arguments taken from 114 Pharo projects. In this paper we present the results of analyzing the failing method argument names, and provide several simple heuristics that can in...
Wrappers are mechanisms for introducing new behavior that is executed before and/or after, and perha...
Some test amplification tools extend a manually created test suite with additional test cases to inc...
Type information is a crucial information to support object-oriented reengineering. In a dynamically...
A common practice when writing Smalltalk source code is to name method arguments in a way that hints...
The lack of static type information is one of the main obstacles to program comprehension in dynamic...
Although dynamically typed languages allow developers to be more productive in writing source code, ...
Dynamically typed languages allow developers to write more expressive source code, but their lack of...
. Wrappers are mechanisms for introducing new behavior that is executed before and/or after, and per...
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...
One of the main obstacles to program comprehension and software maintenance is the lack of informati...
Type systems for object-oriented programming languages have been studied a great deal over the past ...
Software developers are often unsure of the exact name of the method they need to use to invoke the ...
International audienceBeing able to combine static and dynamic typing within the same language has c...
Dynamically typed languages lack information about the types of variables in the source code. Develo...
Wrappers are mechanisms for introducing new behavior that is executed before and/or after, and perha...
Some test amplification tools extend a manually created test suite with additional test cases to inc...
Type information is a crucial information to support object-oriented reengineering. In a dynamically...
A common practice when writing Smalltalk source code is to name method arguments in a way that hints...
The lack of static type information is one of the main obstacles to program comprehension in dynamic...
Although dynamically typed languages allow developers to be more productive in writing source code, ...
Dynamically typed languages allow developers to write more expressive source code, but their lack of...
. Wrappers are mechanisms for introducing new behavior that is executed before and/or after, and per...
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...
One of the main obstacles to program comprehension and software maintenance is the lack of informati...
Type systems for object-oriented programming languages have been studied a great deal over the past ...
Software developers are often unsure of the exact name of the method they need to use to invoke the ...
International audienceBeing able to combine static and dynamic typing within the same language has c...
Dynamically typed languages lack information about the types of variables in the source code. Develo...
Wrappers are mechanisms for introducing new behavior that is executed before and/or after, and perha...
Some test amplification tools extend a manually created test suite with additional test cases to inc...
Type information is a crucial information to support object-oriented reengineering. In a dynamically...