An Architectural Approach to Fast Cross-Language Navigation of Related Entities in Software Projects
News
An Architectural Approach to Fast Cross-Language Navigation of Related Entities in Software Projects
Abstract
The paper describes an architectural approach to fast cross-language navigation in polyglot software projects. The core idea is to maintain an explicit, durable project markup, link language-level anchors and enable constant-time jumps between related locations. The approach has been instantiated for the GraphQL–Go pair. Lightweight parsers with three fine-grained grammars for Go (covering regular calls, anonymous calls, and control-flow constructs) have been used for automatic identification of non-trivial resolvers. These resolvers have been defined as a key part of code markup. The advantages of using lightweight grammars have been shown. We have implemented a matching algorithm ranking candidate Go methods for each GraphQL field by combining naming conventions with static code features. We have calculated hit@1 and MRR to assess the quality of the ranked candidate lists. Multiple open-source repositories have been used to validate the grammars and the matching algorithm and to conduct user-oriented evaluation. On the evaluated projects, the tool consistently delivers an approximate 8x speed-up. Beyond speed, we observe no repeated file visits and improved selection accuracy when compared to manual search.
Keywords
Edition
Proceedings of the Institute for System Programming, vol. 38, issue 3, part 2, 2026, pp. 111-132
ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).
DOI: 10.15514/ISPRAS-2026-38(3)-24
For citation
Full text of the paper in pdf (in Russian)
Back to the contents of the volume