paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Sosed

Sosed:发现相似软件项目的工具
ASE Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering2020匹配度 1/10 · 论文聚焦代码子词嵌入聚类与相似项目发现,属于代码表示/软件工程挖掘,不涉及静态分析、Agentic 程序、浮点程序分析或贝叶斯程序分析,也未将 LLM/Agent 作为改进对象或工具。引用 2 inbox
Egor Bogomolov, Yaroslav Golubev, Artyom Lobanov, Vladimir Kovalenko, Timofey Bryksin
crossref: 2026-09-12

AI 速览

一句话:Sosed 通过子词嵌入聚类比较项目代码分布,在大规模 GitHub 库中发现语义相似的软件项目。

本文提出 Sosed,一个用于发现相似软件项目的工具。作者用 fastText 将子词映射到稠密向量空间,对 200 种语言、12 万个 GitHub 项目计算嵌入,再对嵌入聚类,得到反映源码主题的语义相似子词簇;同时以 900 万个 GitHub 项目作为检索库。给定任意输入项目后,Sosed 抽取其 16 种最流行编程语言的子词,计算簇分布,并在检索库中找出分布最接近的项目。为让输出可解释,作者还为子词簇标注了简短描述,使检索结果带有可读的主题说明。

问题
如何在大规模、多语言的开源代码库中,为给定项目找到语义上相似的软件项目。
方法
用 fastText 学习子词嵌入并聚类成反映源码主题的簇,再以子词簇分布的距离度量项目相似度,并为簇加短标签以提供可解释输出。
评估
在 12 万个、200 种语言的 GitHub 项目上训练嵌入,以 900 万 GitHub 项目为检索库,支持 16 种流行语言的输入项目;摘要未给出量化评测结果,重点展示工具的可解释输出。
原文摘要(Abstract)

In this paper, we present Sosed, a tool for discovering similar software projects. We use fastText to compute the embeddings of subtokens into a dense space for 120,000 GitHub projects in 200 languages. Then, we cluster embeddings to identify groups of semantically similar subtokens that reflect topics in source code. We use a dataset of 9 million GitHub projects as a reference search base. To identify similar projects, we compare the distributions of clusters among their subtokens. The tool receives an arbitrary project as input, extracts subtokens in 16 most popular programming languages, computes cluster distribution, and finds projects with the closest distribution in the search base. We labeled subtoken clusters with short descriptions to enable Sosed to produce interpretable output.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5870,
  title = {Sosed},
  author = {Egor Bogomolov and Yaroslav Golubev and Artyom Lobanov and Vladimir Kovalenko and Timofey Bryksin},
  booktitle = {ASE},
  year = {2020},
  doi = {10.1145/3324884.3415291}
}