The Community for Technology Leaders
2018 IEEE Workshop on Machine Learning Techniques for Software Quality Evaluation (MaLTeSQuE) (2018)
Campobasso, Italy
March 20, 2018 to March 20, 2018
ISBN: 978-1-5386-5921-2
pp: 43-48
Luca Pascarella , Delft University of Technology, The Netherlands
Achyudh Ram , Delft University of Technology, The Netherlands
Azqa Nadeem , Delft University of Technology, The Netherlands
Dinesh Bisesser , Delft University of Technology, The Netherlands
Norman Knyazev , Delft University of Technology, The Netherlands
Alberto Bacchelli , University of Zurich, Switzerland
ABSTRACT
Past research provided evidence that developers making code changes sometimes omit to update the related documentation, thus creating inconsistencies that may contribute to faults and crashes. In dynamically typed languages, such as Python, an inconsistency in the documentation may lead to a mismatch in type declarations only visible at runtime. With our study, we investigate how often the documentation is inconsistent in a sample of 239 methods from five Python open-source software projects. Our results highlight that more than 20% of the comments are either partially defined or entirely missing and that almost 1% of the methods in the analyzed projects contain type inconsistencies. Based on these results, we create a tool, PyID, to early detect type mismatches in Python documentation and we evaluate its performance with our oracle.
INDEX TERMS
Documentation, Python, Tools, Runtime, Computer crashes, Libraries
CITATION

L. Pascarella, A. Ram, A. Nadeem, D. Bisesser, N. Knyazev and A. Bacchelli, "Investigating type declaration mismatches in Python," 2018 IEEE Workshop on Machine Learning Techniques for Software Quality Evaluation (MaLTeSQuE)(MALTESQUE), Campobasso, Italy, 2018, pp. 43-48.
doi:10.1109/MALTESQUE.2018.8368458
93 ms
(Ver 3.3 (11022016))