scg-cli——一种通过语义代码图提取与分析支持软件理解的工具
scg-cli -- a Tool Supporting Software Comprehension via Extraction and Analysis of Semantic Code Graph
AI总结:
本研究提出命令行工具scg-cli,它提取Java/Scala项目语义信息构建语义代码图,支持度量、关键实体识别等分析,可导出供外部工具分析,并用commons-io项目验证功能。
摘要:
我们提出scg-cli,一款助力软件理解的命令行工具。该工具从Java和Scala项目中提取代码结构与依赖相关的语义信息,并将其组织为语义代码图(Semantic Code Graph,SCG)——这是scg-cli底层的信息模型。SCG数据一旦写入可移植的、基于protobuf的开放格式后,可通过scg-cli命令行工具用于获取项目度量指标、找出最关键的代码实体以及计算项目划分。分析结果和SCG数据可导出以供外部工具进一步研究,例如Gephi软件(用于可视化),尤其还能作为带有辅助API的Jupyter Notebook环境,以支持使用数据分析方法对项目开展高级分析。我们阐释了scg-cli工具的功能,并通过对开源Java项目commons-io的示例分析展示了其能力。
英文摘要:
We present scg-cli, a~command line tool facilitating software comprehension. The tool extracts semantic information about code structure and dependencies from the Java and Scala projects, and structures it as a~Semantic Code Graph (SCG), an information model underlying scg-cli. The SCG data, once written into a~portable, open protobuf-based format, can be used by the scg-cli command line tool to obtain project metrics, find the most critical code entities, and compute project partitionings. The results of this analysis and the SCG data can be exported for further investigation by external tools such as Gephi software (visualization) and, notably, as a Jupyter Notebook environment with helper APIs to enable advanced analysis of the project using data analytics methods. We explain functionalities of the scg-cli tool and demonstrate its capabilities by showing an example analysis of an open-source Java project commons-io.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。