当前位置:主页 > 科技论文 > 软件论文 >

程序代码词库构建与概要生成技术研究及系统实现

发布时间:2020-09-24 05:44
   随着计算机应用的快速普及和信息化技术的不断推进,软件产品需求不断增加和变化,软件规模和复杂程度越来越大,软件的维护成本也不断提高。已有数据表明软件维护过程中,程序理解最为耗时,大约占到整个研发周期百分之六十的时间。传统的方式是利用信息检索技术来分析程序代码中的语义信息,然后进行话题提取操作,帮助开发人员理解程序。然而情况是多个独立的单词才能组成表达的话题,开发人员理解起来仍然会感到困惑,在揣测这些单词在代码理解中含义的时候会浪费大量的时间和精力。本文从程序代码词库构建和概要生成技术两个方面进行研究,针对当前程序理解技术所存在的缺陷和不足,研究和开发更加高效的程序理解技术与工具,主要工作集中在以下的几个方面:(1)本文实现了面对具体项目的程序代码词库自动构建。给出了针对历史代码库进行词库建立的原型工具:WB4HPR。WB4HPR可自动化地提取源代码中元素并进行处理,将处理后的数据持久化存储。此外,WB4HPR为开发人员提供了个性化检索界面,方便他们检索出想要了解的词语、词语之间的关系以及它们在历史库中的演化情况。实验验证和系统实现体现了工具的有效性。(2)本文实现了基于自然语言处理的程序概要生成。以软件程序中的自然语义信息为分析材料,利用信息索引中的潜在语义分析技术和数据挖掘中的聚类算法,从软件程序中挖掘出有助于程序理解的概要化信息。并通过对提取的话题进行语义修复,帮助开发维护人员更好地理解程序。(3)本文实现了面向代码修改的程序概要生成。能够自动生成和代码修改相关的提交信息,包括经常被软件开发者忽略的修改原因以及和代码修改相关的描述信息。基于实验对比结果,本方法具有更好的适用性。
【学位单位】:扬州大学
【学位级别】:硕士
【学位年份】:2018
【中图分类】:TP311.52
【部分图文】:

源码,插件,同义关系,运行实例


图2.1邋—个来自Eclipse的debug插件源码样例逡逑

应用程序,运行实例


?逦?r*邋t-r邋J?邋i'*??*?!逡逑'逦.J>w邋.!?v?邋.???;邋.,;邋!??:?-'.逦:逦fc?n邋:>i邋?-*x-邋?>'■?*逦-邋-邋?>逦逦逦逡逑9逦?JX邋fc?邋!**XlfcS<M*,??|L逦/逡逑?逦m邋r?^vx>?y邋?.i?#逦'<?*邋-??rii>r?t邋*?t^v**_邋s邋:**?邋?邋:?■#逦f逡逑?邋imai逦i-yjMl邋*?!邋?*?*?%.邋:K邋*.*?邋wr*l??'.?*,邋TS*?邋^/逡逑?逦??*??邋/逡逑?逦{f*.邋?,逦笼邋CtO.MW,逦逦邋/逡逑j邋ir:*-逦'-?t^-cA^icRenjt^nArp*frc3?-TT邋r?!-:*;—..逦f邋?邋r-Tfrw,-r/?逡逑p逦—逦[/逦\逦逦逡逑?逦eTTrtssi:**邋iicr邋*5J::*r:邋siTTex逦isTsryrssirj逦%p^邋Jfigl邋AY逡逑*邋?>e邋VZ邋J^r邋?邋v?::邋??tsj>s?*tsa.邋Zt£s邋%x*邋^逦1?邋??5^9邋?f逦I邋-J邋rL*逡逑*逦tR*邋5m逦ia邋hfel?&邋ea?tJ55-;t£!邋5i?邋?邋t<邋Ci??llSS逡逑_邋J^tiaa邋t*i?t邋:R?邋;於》Ui?s:邋ta邋*Wsa邋s*t£ss::JiU邋?:???:&丨约*—_■■■■■v邋邋邋邋邋一丨」逡逑?逦*ctti£a邋ii邋fi^aisMitiaa邋tsai^逦\逡逑iatiiz邋tin^t逦fc6*Xi*.tv6t?atlas5&9u?c(!^?rz?:est邋;{&}sct.:

单词,软件,版本,代码


一邋address邋" ̄'88h ̄邋marvage"...悐一邋bold逡逑图2.3单词随版本演化图样例逡逑随着软件的不断维护和演化,代码中使用的单词也随着软件的演化而演化。图2.3是逡逑“address”、“manage”、“hold”三个单词从第一个版本V0到第九个版本V8的使用演化图。逡逑2.3系统框架与工作流程逦士逡逑在2.2节中,我们对相关知识己经做了全面的介绍,本节将详细的介绍词库构建技术逡逑的具体流程,如下图2.4是WB4HPR平台工作流程。逡逑_逦rr逦n逦词语〈单间、元索)逡逑yU逦逦?在耐“咖屮检索逦m邋D?邋Sl^fl逡逑?逦u—r ̄ ̄n逦L逦^^逡逑匕....■■.......■■■-逦—!逡逑图2.4邋WB4HPR平台工作流程逡逑首先,从软件历史代码库中提取所有源代码文档(.java结尾的)。其次,我们对源代逡逑码使用一些预处理操作过滤掉无意义的数据。最后,对处理好的数据进行存储并统计。另逡逑夕卜,对用户的输入进行简单的预处理之后,使用WordNet进行第一轮同义词或相似词的推逡逑

【参考文献】

相关期刊论文 前3条

1 梅宏;王千祥;张路;王戟;;软件分析技术进展[J];计算机学报;2009年09期

2 张健;;精确的程序静态分析[J];计算机学报;2008年09期

3 黄会群;;逆向工程技术研究[J];计算机与数字工程;2005年12期



本文编号:2825389

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2825389.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户70230***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com