一句话:提出 RepoSkillMiner,用 GitHub API 与 LUIS 对提交代码块做命名实体识别,识别 .NET 与前端框架等细粒度技术专长。
论文关注如何从开发者的 GitHub 贡献中自动识别其掌握的软件框架与技术,以支持招聘、资源分配和维护性规划。现有工作多停留在编程语言层面的专长识别,作者进一步提出细粒度框架/技术识别方法,并实现工具 RepoSkillMiner。方法仅依赖 GitHub 数据,通过 GitHub API 抓取提交内容,分析提交者新增或修改的具体代码块,并利用 Microsoft LUIS 构建命名实体识别 NLP 模型,覆盖 3 项 .NET 技术和 2 个前端框架。评估在 LUIS 中进行批量测试,报告精确率、召回率和 F-measure;同时以完整 Web 应用展示该方法的可用性。
A GitHub profile is becoming an essential part of a developer's resume enabling HR departments to extract someone's expertise, through automated analysis of his/her contribution to open-source projects. At the same time, having clear insights on the technologies used in a project can be very beneficial for resource allocation and project maintainability planning. In the literature, one can identify various approaches for identifying expertise on programming languages, based on the projects that developer contributed to. In this paper, we move one step further and introduce an approach (accompanied by a tool) to identify low-level expertise on particular software frameworks and technologies apart, relying solely on GitHub data, using the GitHub API and Natural Language Processing (NLP)---using the Microsoft Language Understanding Intelligent Service (LUIS). In particular, we developed an NLP model in LUIS for named-entity recognition for three (3) .NET technologies and two (2) front-end frameworks. Our analysis is based upon specific commit contents, in terms of the exact code chunks, which the committer added or changed. We evaluate the precision, recall and f-measure for the derived technologies/frameworks, by conducting a batch test in LUIS and report the results. The proposed approach is demonstrated through a fully functional web application named RepoSkillMiner. Tool Links : Video, Code Repo, Application, Validation Dataset
DOI 原文 ·
@inproceedings{paperbot5988,
title = {RepoSkillMiner},
author = {Stratos Kourtzanidis and Alexander Chatzigeorgiou and Apostolos Ampatzoglou},
booktitle = {ASE},
year = {2020},
doi = {10.1145/3324884.3415305}
}