Blindspots in Python and Java APIs Result in Vulnerable Code
Yuriy Brun, Tian Lin, Jessie Elise Somerville, Elisha Myers, Natalie, C. Ebner

TL;DR
This study reveals that API blindspots significantly impair developers' ability to reason about APIs in both Python and Java, with implications for software security and the need for better developer tools.
Contribution
The paper replicates and extends previous API blindspot research to Python, providing new insights into developer reasoning and the influence of cognitive and personality factors across languages.
Findings
API blindspots reduce correct reasoning in both languages
Effect of blindspots more pronounced in Python
Long-term memory recall improves reasoning about blindspots
Abstract
Blindspots in APIs can cause software engineers to introduce vulnerabilities, but such blindspots are, unfortunately, common. We study the effect APIs with blindspots have on developers in two languages by replicating an 109-developer, 24-Java-API controlled experiment. Our replication applies to Python and involves 129 new developers and 22 new APIs. We find that using APIs with blindspots statistically significantly reduces the developers' ability to correctly reason about the APIs in both languages, but that the effect is more pronounced for Python. Interestingly, for Java, the effect increased with complexity of the code relying on the API, whereas for Python, the opposite was true. Whether the developers considered API uses to be more difficult, less clear, and less familiar did not have an effect on their ability to correctly reason about them. Developers with better long-term…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Advanced Malware Detection Techniques
