Understanding large software systems is a challenging task, especially when code is distributed across multiple repositories and microservices. Developers often need to reason not only about the structure of the code, but also about its domain logic and runtime behaviors, which are typically implicit and scattered. We introduce LogicLens, a reactive conversational agent that assists developers in exploring complex software systems through a semantic multi-repository graph. This graph is built in a preprocessing step by combining syntactic code analysis, via AST parsing and repository traversal, with semantic enrichment using Large Language Models (LLMs). The resulting graph captures both structural elements, such as files, classes, and functions, as well as functional abstractions like domain entities, operations, and workflows. Once the graph is constructed, LogicLens enables developers to interact with it via natural language, dynamically retrieving relevant subgraphs and answering technical or functional queries. We present the architecture of the system, discuss emergent behaviors, and evaluate its effectiveness on real-world multi-repository scenarios. We demonstrate emergent capabilities including impact analysis and symptom-based debugging that arise naturally from the semantic graph structure.
翻译:理解大型软件系统是一项具有挑战性的任务,尤其是在代码分布在多个仓库和微服务中的情况下。开发人员不仅需要推理代码的结构,还需要理解其领域逻辑和运行时行为,而这些信息通常是隐式且分散的。我们提出了LogicLens,一个反应式对话代理,它通过语义多仓库图来协助开发人员探索复杂的软件系统。该图在预处理步骤中构建,结合了通过AST解析和仓库遍历实现的语法代码分析,以及利用大型语言模型(LLMs)进行的语义增强。生成的图既捕获了结构元素(如文件、类和函数),也捕获了功能抽象(如领域实体、操作和工作流)。一旦图构建完成,LogicLens使开发人员能够通过自然语言与之交互,动态检索相关子图并回答技术或功能查询。我们介绍了该系统的架构,讨论了其涌现行为,并在真实世界的多仓库场景中评估了其有效性。我们展示了包括影响分析和基于症状的调试在内的涌现能力,这些能力自然地源于语义图结构。