Investigating Type Declaration Mismatches in Python

Conference Paper (2018)
Author(s)

L. Pascarella (TU Delft - Software Engineering)

A.R. Keshav Ram (TU Delft - Software Engineering)

Azqa Nadeem (Student TU Delft)

Dinesh Bisesser (Student TU Delft)

Norman Knyazev (Student TU Delft)

A Bacchelli (Universitat Zurich)

Research Group
Software Engineering
Copyright
© 2018 L. Pascarella, A.R. Keshav Ram, Azqa Nadeem, Dinesh Bisesser, Norman Knyazev, A. Bacchelli
DOI related publication
https://doi.org/10.1109/MALTESQUE.2018.8368458
More Info
expand_more
Publication Year
2018
Language
English
Copyright
© 2018 L. Pascarella, A.R. Keshav Ram, Azqa Nadeem, Dinesh Bisesser, Norman Knyazev, A. Bacchelli
Research Group
Software Engineering
Pages (from-to)
43-48
ISBN (electronic)
978-1-5386-5920-5
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

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.

Files

TUD_SERG_2018_005.pdf
(pdf | 0.28 Mb)
License info not available