In software engineering, automated tools are essential for detecting policy violations within code. These tools typically analyze the relationships and dependencies between components in large codebases, which may be written in various programming languages. Most available tools, whether free or proprietary, rely on third-party software to perform statistical analyses. This approach often requires a separate tool for each programming language, which can lead to high maintenance efforts, and even relying on a standardized technology such as Language Servers has several drawbacks. This paper investigates the feasibility of removing language-specific dependencies in the construction of dependency graphs by using two libraries: Tree Sitter and Stack Graph. After analyzing the capabilities of these technologies, their application in this context is demonstrated, and the effectiveness and accuracy of the proposed solution are evaluated.

Refolli, F., Sas, D., Fontana, F. (2025). Lessons Learned from Implementing a Language-Agnostic Dependency Graph Parser. In Proceedings of the 20th International Conference on Evaluation of Novel Approaches to Software Engineering - ENASE (pp.484-491) [10.5220/0013277600003928].

Lessons Learned from Implementing a Language-Agnostic Dependency Graph Parser

Refolli, Francesco
Primo
;
Fontana, Francesca
Ultimo
2025

Abstract

In software engineering, automated tools are essential for detecting policy violations within code. These tools typically analyze the relationships and dependencies between components in large codebases, which may be written in various programming languages. Most available tools, whether free or proprietary, rely on third-party software to perform statistical analyses. This approach often requires a separate tool for each programming language, which can lead to high maintenance efforts, and even relying on a standardized technology such as Language Servers has several drawbacks. This paper investigates the feasibility of removing language-specific dependencies in the construction of dependency graphs by using two libraries: Tree Sitter and Stack Graph. After analyzing the capabilities of these technologies, their application in this context is demonstrated, and the effectiveness and accuracy of the proposed solution are evaluated.
slide + paper
Source Code, Software Analysis, Dependency Graphs
English
ENASE 2025. 20th International Conference on Evaluation of Novel Approaches to Software Engineering
2025
Proceedings of the 20th International Conference on Evaluation of Novel Approaches to Software Engineering - ENASE
978-989-758-742-9
2025
484
491
https://www.scitepress.org/PublicationsDetail.aspx?ID=fxNa57fnHyo=&t=1
open
Refolli, F., Sas, D., Fontana, F. (2025). Lessons Learned from Implementing a Language-Agnostic Dependency Graph Parser. In Proceedings of the 20th International Conference on Evaluation of Novel Approaches to Software Engineering - ENASE (pp.484-491) [10.5220/0013277600003928].
File in questo prodotto:
File Dimensione Formato  
Refolli-2025-ENASE-VoR.pdf

accesso aperto

Tipologia di allegato: Publisher’s Version (Version of Record, VoR)
Licenza: Creative Commons
Dimensione 359.68 kB
Formato Adobe PDF
359.68 kB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10281/580104
Citazioni
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
Social impact