Inferring Types by Mining Class Usage ...
Type de document :
Communication dans un congrès avec actes
DOI :
Titre :
Inferring Types by Mining Class Usage Frequency from Inline Caches
Auteur(s) :
Milojković, Nevena [Auteur]
Software Composition Group [Bern] [SCG]
Bera, Clément [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Ghafari, Mohammad [Auteur]
Software Composition Group [Bern] [SCG]
Nierstrasz, Oscar [Auteur]
Software Composition Group [Bern] [SCG]
Software Composition Group [Bern] [SCG]
Bera, Clément [Auteur]
Analyses and Languages Constructs for Object-Oriented Application Evolution [RMOD]
Ghafari, Mohammad [Auteur]
Software Composition Group [Bern] [SCG]
Nierstrasz, Oscar [Auteur]
Software Composition Group [Bern] [SCG]
Titre de la manifestation scientifique :
Proceedings of the 11th edition of the International Workshop on Smalltalk Technologies
Ville :
Pragues
Pays :
République tchèque
Date de début de la manifestation scientifique :
2016
Discipline(s) HAL :
Informatique [cs]/Langage de programmation [cs.PL]
Résumé en anglais : [en]
Dynamically typed languages allow developers to write more expressive source code, but their lack of static information about types of variables increases the complexity of a program. Static type information about types ...
Lire la suite >Dynamically typed languages allow developers to write more expressive source code, but their lack of static information about types of variables increases the complexity of a program. Static type information about types of variables facilitates program comprehension and maintenance. Simple type inference algorithms suffer from the problem of false positives or negatives, thus complex approaches are required to avoid this problem. We propose a simple heuristic that uses easily accessible run-time information about the usage of each class as a receiver type for a message send. This frequency serves as a proxy for the likelihood that a run-time type of the variable is that class and it is used to promote the correct type towards the top of the list of possible types for a variable. Our evaluation of a proof-of-concept prototype implemented in Pharo Smalltalk shows that our heuristic is reasonably precise to detect correct types on average in 65.92% to 82.83% of cases.Lire moins >
Lire la suite >Dynamically typed languages allow developers to write more expressive source code, but their lack of static information about types of variables increases the complexity of a program. Static type information about types of variables facilitates program comprehension and maintenance. Simple type inference algorithms suffer from the problem of false positives or negatives, thus complex approaches are required to avoid this problem. We propose a simple heuristic that uses easily accessible run-time information about the usage of each class as a receiver type for a message send. This frequency serves as a proxy for the likelihood that a run-time type of the variable is that class and it is used to promote the correct type towards the top of the list of possible types for a variable. Our evaluation of a proof-of-concept prototype implemented in Pharo Smalltalk shows that our heuristic is reasonably precise to detect correct types on average in 65.92% to 82.83% of cases.Lire moins >
Langue :
Anglais
Comité de lecture :
Oui
Audience :
Internationale
Vulgarisation :
Non
Collections :
Source :
Fichiers
- https://hal.archives-ouvertes.fr/hal-01357071/document
- Accès libre
- Accéder au document
- https://hal.archives-ouvertes.fr/hal-01357071/document
- Accès libre
- Accéder au document
- https://hal.archives-ouvertes.fr/hal-01357071/document
- Accès libre
- Accéder au document
- document
- Accès libre
- Accéder au document
- TypeInferenceDynamicDataPreprint.pdf
- Accès libre
- Accéder au document