Skip to main content
zenodoopen

Dataset for PSASpotter: A Tool to Detect the Usage of Platform-Specific APIs in Python

<p>This dataset was utilized in the research paper titled "PSASpotter: A Tool to Detect the Usage of Platform-Specific APIs in Python" for publication in &nbsp;Mining Software Repositories (MSR). Herein, we present a concise abstract of the study.</p> <p>A&nbsp;<em>platform-specific API</em> is implemented for a particular platform (e.g., operating system), thus, it may not work on other platforms than the target one. Detecting the usage of such APIs is important for supporting software maintenance, as it allows maintainers to be alerted about APIs that could pose potential risks.&nbsp;This paper proposes PSASpotter, a tool to detect the usage of platform-specific APIs in Python systems. PSASpotter also identifies whether the platform-specific APIs are used within a defensive code, such as try/except blocks or if blocks that check the current platform. PSASpotter can support the development of novel empirical studies about the usage of platformspecific APIs in the Python ecosystem. Moreover, the defensive code detected by PSASpotter may contain alternative solutions for unavailable APIs, which can provide insights for software development and testing across multiple platforms. PSASpotter is available at: https://github.com/ricardojob/PSASpotter.&nbsp;</p> <p>&nbsp;</p> <div> <div>PSASpotter is an AST-based tool that detects API usage at the function/method level.&nbsp;Given a Git project, PSASpotter analyzes all Python files and exports details of platform-specific API usage.&nbsp;Specifically, for each usage, PSASpotter reports information about the analyzed project (name and commit), the used API (name and availability), and the usage location (filename, line, and GitHub link).&nbsp;In addition, PSASpotter also reports whether the usage happens within defensive code.</div> </div> <p>The tool <strong>PSASpotter</strong> is publicly available at <a href="https://github.com/ricardojob/PSASpotter">https://github.com/ricardojob/PSASpotter</a>.</p>

ShareScore

24/100

Overall dataset sharing score

Score breakdown

These five areas show where the dataset supports — or may limit — practical reuse.

Stewardship
4
Harmonization
4
Access
16
Reuse readiness
0
Engagement
0

Dataset details

Repository
zenodo
Published
November 1, 2024
License
cc-by-4.0
DOI
10.5281/zenodo.14029217

Scored with release 0.9.0

ScienceDex for faculty

Your academic CV and NIH biosketch

Make your CV in your school's format and your NIH biosketch from it, then download both as Word files.