一句话:提出 PolyFax 工具包,支持从 GitHub 收集多语言软件数据集,并提供漏洞修复提交分类与语言接口机制识别/分类工具。
当今软件系统大多由多种语言开发,即多语言软件,但支持理解和保障此类系统的工具仍然稀缺。为促进多语言软件工程研究,本文提出 PolyFax 工具包,提供从 GitHub 自动收集数据集的能力,并集成两个分析工具:漏洞修复提交分类工具 VCC 和语言接口机制识别/分类工具 LIC。VCC 可基于版本历史评估给定多语言项目的漏洞倾向,LIC 则用于剖析多语言系统构建中最重要的语言交互方面。作者将 PolyFax 应用于 7,113 个多语言项目和 1,260 万次提交,结果表明其在研究多语言软件时具有可观的效率与准确度,具备实际有用性。
Today’s software systems are mostly developed in multiple languages (i.e., multi-language software), yet tool support for understanding and assuring these systems is rare. To facilitate future research on multi-language software engineering, this paper presents PolyFax, a toolkit that offers automated means for dataset collection from GitHub and two analysis utilities--a vulnerability-fixing commit categorization tool (VCC) and a language interfacing mechanism identification/categorization tool (LIC). The VCC tool immediately assists with assessing the vulnerability proneness of a given multi-language project based on its version histories, while the LIC tool enables dissection of the most important aspect of the construction of multi-language systems. Application of PolyFax to 7,113 multi-language projects with 12.6 million commits showed its practical usefulness in terms of promising efficiency and accuracy for studying multi-language software.