CodeFuse-Query: A Data-Centric Static Code Analysis System for Large-Scale Organizations
In the domain of large-scale software development, the demands for dynamic and multifaceted static code analysis exceed the capabilities of traditional tools. To bridge this gap, we present CodeFuse-Query, a system that redefines static code analysis through the fusion of Domain Optimized System Des...
Gespeichert in:
Hauptverfasser: | , , , , , , , , , , , , , , , , , , , , , , , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | In the domain of large-scale software development, the demands for dynamic
and multifaceted static code analysis exceed the capabilities of traditional
tools. To bridge this gap, we present CodeFuse-Query, a system that redefines
static code analysis through the fusion of Domain Optimized System Design and
Logic Oriented Computation Design.
CodeFuse-Query reimagines code analysis as a data computation task, support
scanning over 10 billion lines of code daily and more than 300 different tasks.
It optimizes resource utilization, prioritizes data reusability, applies
incremental code extraction, and introduces tasks types specially for Code
Change, underscoring its domain-optimized design. The system's logic-oriented
facet employs Datalog, utilizing a unique two-tiered schema, COREF, to convert
source code into data facts. Through Godel, a distinctive language,
CodeFuse-Query enables formulation of complex tasks as logical expressions,
harnessing Datalog's declarative prowess.
This paper provides empirical evidence of CodeFuse-Query's transformative
approach, demonstrating its robustness, scalability, and efficiency. We also
highlight its real-world impact and diverse applications, emphasizing its
potential to reshape the landscape of static code analysis in the context of
large-scale software development.Furthermore, in the spirit of collaboration
and advancing the field, our project is open-sourced and the repository is
available for public access |
---|---|
DOI: | 10.48550/arxiv.2401.01571 |