中文

psc2code:从编程录屏中去噪提取代码

软件工程 2021-03-23 v1

摘要

在本文中,我们提出一种名为 psc2code 的方法,用于去噪从编程录屏中提取源代码的过程。首先,psc2code 利用基于卷积神经网络的图像分类来移除非代码与含噪代码帧。然后,psc2code 执行边缘检测与基于聚类的图像分割以检测代码帧中的子窗口,并基于检测到的子窗口识别并裁剪最可能为代码编辑器的屏幕区域。最后,psc2code 调用专业 OCR 工具的 API 从裁剪的代码区域提取源代码,并利用编程录屏中 OCR 得到的跨帧信息与大规模源代码语料库的统计语言模型来纠正 OCR 源代码的错误。我们在来自 YouTube 的 1,142 个编程录屏上进行了实验。我们发现基于 CNN 的图像分类技术能有效移除非代码与含噪代码帧,在有效代码帧上取得了 0.95 的 F1 分数。基于 psc2code 去噪的源代码,我们实现了两个应用:1) 编程录屏搜索引擎;2) 交互增强的编程录屏观看工具。基于从收集的 1,142 个编程录屏中提取的源代码,我们的实验表明我们的编程录屏搜索引擎在 precision@5、10 和 20 上分别达到了 0.93、0.81 和 0.63。

关键词

引用

@article{arxiv.2103.11610,
  title  = {psc2code: Denoising Code Extraction from Programming Screencasts},
  author = {Lingfeng Bao and Zhenchang Xing and Xin Xia and David Lo and Minghui Wu and Xiaohu Yang},
  journal= {arXiv preprint arXiv:2103.11610},
  year   = {2021}
}

备注

pre-print TOSEM paper for ICSE 2021