paperbot · PL 论文追踪

全部论文 待读 收藏

P2 CocoQa: Question Answering for Coding Conventions Over Knowledge Graphs

CocoQa:面向编码规范的知识图谱问答
ASE 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)2019匹配度 2/10 · 论文关注编码规范的知识图谱问答,属于程序语言与机器学习交叉的开发者工具,但未涉及静态分析、Agentic程序、浮点程序分析、贝叶斯程序分析或LLM/Agent改进静态分析等核心方向,与用户研究画像关联较弱。引用 5 inbox
Tianjiao Du, Junming Cao, Qinyue Wu, Wei Li, Beijun Shen, Yuting Chen
crossref: 2026-09-12

AI 速览

一句话:CocoQa 通过知识图谱子图匹配与神经网络机器阅读理解,精确回答编码规范问题。

编码规范对保证软件质量很重要,但通常以非正式形式呈现,程序员不便使用。本文提出 CocoQa 系统,通过查询编码规范知识图谱来回答程序员关于编码规范的问题。CocoQa 采用两种技术:1)子图匹配算法,将自然语言问题解析为 SPARQL 查询;2)机器阅读理解算法,使用端到端神经网络从检索到的段落中检测答案。作者实现了 CocoQa,并在编码规范问答数据集上进行评估。结果表明,CocoQa 能精确回答编码规范问题,达到 82.92% 的精确率和 91.10% 的召回率。

问题
编码规范通常以非正式形式呈现,程序员难以直接、便捷地查询和使用。
方法
通过编码规范知识图谱进行问答,先用子图匹配将问题解析为 SPARQL 查询,再用端到端神经网络机器阅读理解从检索段落中抽取答案。
评估
在编码规范问答数据集上评估,达到 82.92% 精确率和 91.10% 召回率。
原文摘要(Abstract)

Coding convention plays an important role in guaranteeing software quality. However, coding conventions are usually informally presented and inconvenient for programmers to use. In this paper, we present CocoQa, a system that answers programmer's questions about coding conventions. CocoQa answers questions by querying a knowledge graph for coding conventions. It employs 1) a subgraph matching algorithm that parses the question into a SPARQL query, and 2) a machine comprehension algorithm that uses an end-to-end neural network to detect answers from searched paragraphs. We have implemented CocoQa, and evaluated it on a coding convention QA dataset. The results show that CocoQa can answer questions about coding conventions precisely. In particular, CocoQa can achieve a precision of 82.92% and a recall of 91.10%. Repository: https://github.com/14dtj/CocoQa/ Video: https://youtu.be/VQaXi1WydAU.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5321,
  title = {CocoQa: Question Answering for Coding Conventions Over Knowledge Graphs},
  author = {Tianjiao Du and Junming Cao and Qinyue Wu and Wei Li and Beijun Shen and Yuting Chen},
  booktitle = {ASE},
  year = {2019},
  doi = {10.1109/ase.2019.00108}
}