跳到主要内容
文章

XSnippet:挖掘示例代码

出版:2006年10月16日出版历史
跳过摘要部分

摘要

软件开发人员通常使用示例指导发展工作。这种基本上不成文但标准的“以身作则”的做法常常得到与图书馆或框架包捆绑在一起的示例的支持,这些示例在教科书中提供,并可在官方和非官方网站上下载。然而,嵌入在数十亿行已开发的库和框架代码中的大量示例在很大程度上尚未开发。我们开发了XSnippet公司是一个上下文敏感的代码助手框架,允许开发人员在示例存储库中查询与手头编程任务相关的代码片段。特别是,我们的工作有三个主要贡献。首先,提供了一系列查询,允许开发人员在依赖于上下文的代码片段检索和不同程度的对象实例化查询的上下文敏感检索之间进行切换。其次,提供了一种新的基于图形的代码挖掘算法,以支持查询范围,并支持方法边界内和跨方法边界的挖掘。第三,提供了一种创新的上下文相关排序启发式算法,该算法已被实验证明能够为最适合的代码片段提供比上下文相关启发式算法(如最短路径和频率)更好的排序。我们的实验评估表明XSnippet公司与其他代码助理系统相比,它具有很大的潜力来帮助开发人员,并提供更好的任务覆盖率和最佳代码段排名。

工具书类

  1. V.R.Basili、L.C.Briand和W.L.Melo。重用如何影响面向对象系统中的生产力。ACM通讯,39(10):104--1161996。谷歌学者谷歌学者数字图书馆数字图书馆
  2. J.D'Anjou、S.Fairbrother、D.Kehn、J.Kellerman和P.McCarthy。Java(TM)开发人员ECLIPSE指南(第2版)。Addison-Wesley Professional,2004年。谷歌学者谷歌学者数字图书馆数字图书馆
  3. 文件排序算法:想法和模拟结果。第14届软件工程和知识工程国际会议论文集,第99-102页。美国纽约州纽约市ACM出版社,2002年。谷歌学者谷歌学者数字图书馆数字图书馆
  4. P.弗里曼。软件可重用性。IEEE计算机社会出版社,10662 Los Vaqueros Circle,Los Alamitos,CA 90720 USA,1987年。谷歌学者谷歌学者
  5. J.Goguen、D.Nguyen、J.Meseguer、Luqi、D.Zhang和V.Berzins。软件组件搜索。《系统集成杂志》,6(1/2):93--1341996年3月。谷歌学者谷歌学者交叉引用交叉引用
  6. G.T.Heineman和W.T.理事会。基于组件的软件工程。Addison-Wesley Publishing Company,Reading,Massachusetts,2001年。谷歌学者谷歌学者数字图书馆数字图书馆
  7. R.Hill和J.Rideout。自动方法完成。第16届IEEE自动化软件工程国际会议,第228-235页,2004年。谷歌学者谷歌学者数字图书馆数字图书馆
  8. R.Holmes和G.C.Murphy。使用结构上下文推荐源代码示例。《第27届国际软件工程会议论文集》,ACM出版社,2005年。谷歌学者谷歌学者数字图书馆数字图书馆
  9. J.-J.Jeng和B.H.C.Cheng。软件重用的规范匹配:基础*。1995年软件重用研讨会论文集,第97-105页。ACM出版社,1995年。谷歌学者谷歌学者数字图书馆数字图书馆
  10. G.T.Leavens和M.Sitaraman。基于组件的系统基础。剑桥大学出版社,2000年。谷歌学者谷歌学者数字图书馆数字图书馆
  11. D.Mandelin、L.Xu、R.Bodk和D.Kimelman。丛林采矿:帮助穿越api丛林。在编程语言设计与实现会议(PLDI)上。ACM出版社,2005年6月。谷歌学者谷歌学者数字图书馆数字图书馆
  12. 松本Y。软件工厂:软件生产的总体方法。在P.Freeman编辑的《教程:软件可重用性》中。IEEE计算机学会出版社,1987年。谷歌学者谷歌学者
  13. O.Nierstrasz和T.D.Meijler。软件组合研究方向。ACM计算调查,27(2):262-2641995。谷歌学者谷歌学者数字图书馆数字图书馆
  14. R.Prieto-Diaz和P.Freeman。为可重用性对软件进行分类。IEEE软件,4(1):6--161987。谷歌学者谷歌学者数字图书馆数字图书馆
  15. N.Tansalarak和K.T.Claypool。在干草堆中寻找一根针:一种对组件之间的匹配进行排序的技术。2005年5月,第八届基于组件的软件工程国际SIGSOFT研讨会论文集(CBSE 2005):工作中的软件组件。谷歌学者谷歌学者数字图书馆数字图书馆
  16. N.Tansalarak和K.T.Claypool。XSnippet:代码助理框架。《2006年技术报告》xxx,马萨诸塞大学洛厄尔分校计算机科学系,2006年3月。可在http://www.cs.uml.edu/techrpts/reports.jsp。谷歌学者谷歌学者
  17. Y.Ye和G.Fischer。通过交付与任务相关的个性化信息支持重用。第24届国际软件工程会议记录,第513-523页。ACM出版社,2002年5月。谷歌学者谷歌学者数字图书馆数字图书馆
  18. Y.Ye、G.Fischer和B.Reeves。集成主动信息交付和重用存储库系统。在软件工程基础国际研讨会上,第60-68页。ACM出版社,2000年11月。谷歌学者谷歌学者数字图书馆数字图书馆
  19. A.M.Zaremski和J.M.Wing。签名匹配:使用软件库的工具。在ACM软件工程与方法汇刊(TOSEM)中,第146-170页。ACM出版社,1995年。谷歌学者谷歌学者数字图书馆数字图书馆
  20. A.M.Zaremski和J.M.Wing。软件组件的规格匹配。《美国计算机学会软件工程与方法学报》(TOSEM)第333-369页。ACM出版社,1997年。谷歌学者谷歌学者数字图书馆数字图书馆

索引术语

  1. XSnippet:挖掘示例代码

      建议

      评论

      登录选项

      检查您是否可以通过登录凭据或您的机构访问本文。

      登录

      完全访问权限

      • 发布于

        封面图片ACM SIGPLAN注意事项
        ACM SIGPLAN通知 第41卷第10期
        2006年OOPSLA会议记录
        2006年10月
        480页
        国际标准编号:0362-1340
        EISSN公司:1558-1160
        DOI(操作界面):10.1145/1167515
        期刊目录
        • 封面图片ACM会议
          OOPSLA’06:第21届ACM SIGPLAN面向对象编程系统、语言和应用年度会议论文集
          2006年10月
          514页
          国际标准图书编号:1595933484
          DOI(操作界面):10.1145/1167473

        版权所有©2006 ACM

        如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重ACM以外的其他人对本作品组成部分的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。从请求权限[电子邮件保护]

        出版商

        计算机协会

        美国纽约州纽约市

        出版历史

        • 出版:2006年10月16日

        检查更新

        限定符

        • 文章

      PDF格式

      以PDF文件查看或下载。

      PDF格式

      电子阅读器

      使用eReader联机查看。

      电子阅读器