inspect4py: a knowledge extraction framework for Python code repositories

Rosa Filgueira, Daniel Garijo

Research output: Chapter in Book/Report/Conference proceedingConference contribution

3 Citations (Scopus)
35 Downloads (Pure)

Abstract

This work presents inspect4py, a static code analysis framework designed to automatically extract the main features, metadata and documentation of Python code repositories. Given an input folder with code, inspect4py uses abstract syntax trees and state of the art tools to find all functions, classes, tests, documentation, call graphs, module dependencies and control flows within all code files in that repository. Using these findings, inspect4py infers different ways of invoking a software component. We have evaluated our framework on 95 annotated repositories, obtaining promising results for software type classification (over 95% F1-score). With inspect4py, we aim to ease the understandability and adoption of software repositories by other researchers and developers.
Original languageEnglish
Title of host publicationProceedings of the 19th International Conference on Mining Software Repositories (MSR 2022)
EditorsDavid Lo, Shane McIntosh, Nicole Novielli
Place of PublicationNew York, NY
PublisherACM
Pages232-236
Number of pages5
ISBN (Electronic)9781450393034
DOIs
Publication statusPublished - 17 Oct 2022
Event2022 Mining Software Repositories Conference (MSR 2022) - Virtual and In-Person, Pittsburgh, United States
Duration: 23 May 202224 May 2022
Conference number: 5
https://conf.researchr.org/home/msr-2022

Conference

Conference2022 Mining Software Repositories Conference (MSR 2022)
Abbreviated titleMSR 2022
Country/TerritoryUnited States
CityPittsburgh
Period23/05/2224/05/22
Internet address

Keywords

  • Code mining
  • Software code
  • Software classification
  • Software documentation
  • Code understanding

Fingerprint

Dive into the research topics of 'inspect4py: a knowledge extraction framework for Python code repositories'. Together they form a unique fingerprint.

Cite this