欢迎来到天天文库
浏览记录
ID:37381887
大小:4.73 MB
页数:45页
时间:2019-05-22
《基于h指数及其衍生度量的关键类识别方法研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、南京大学硕士学位论文基Y-h指数及其衍生度量的关键类识别方法研究申请人:王木生学号:MG0833084专业:计算机应用技术研究方向:软件度量指导教师:周毓明教授2011年6月Automaticallyidentifyingkeyclassesbasedonh-indexanditsvariantsByMushengWangAthesisSubmittedtothefacultyofgraduatestudiesinpartialfulfillmentoftherequirementsforthedegreeofMAST
2、EROFENGINEEIUNGInComputerApplicationTechnologySupervisedbyProf.YumingZhouDepartmentofComputerScienceandTechnologyNanjingUniversityJune,2011Nanjing,P.R.China南京大学硕士学位论文摘要软件维护是软件工程领域面临的重要课题之一。分析和理解程序是软件维护工作的第一步,能否对程序进行准确、快速和全面的理解在很大程度上影响着维护工作的进展。在通常情况下,理解系统的架构和功能需要
3、消耗维护人员大量的工作时间。为节省时间,一种可行的方法是从系统的关键类出发开始理解系统的架构和功能。系统的关键类是指那些实现了系统的大多数的重要功能的类,这些类管理着其它大部分类或使用其它类来实现相应的功能。然而,面对不熟悉的软件系统,维护人员通常没有直截了当的办法识别哪些类是系统的关键类。为帮助维护人员进行快速的程序理解,本文在h指数及其衍生度量的基础上提出了一种轻量级的、自动化的关键类识别方法。对给定的一个面向对象系统,我们首先利用静态程序分析技术构建类之间的依赖图,然后在此基础上计算h指数其衍生指数度量。最后,按
4、照度量值将系统中的类从大到小排序,排序越靠前的类在系统中所起的作用越重要。当维护人员得到这种排好序的“类重要性列表”后,就可以从前到后依次对每个类进行程序理解。为评价这种关键类识别方法的性能,我们在两个开源系统ApacheAnt1.6.1和JakartaJMeter2.0.1上进行了实验分析。我们的实验结果表明,一方面,“类重要性列表”的构建时间不超过1分钟。另一方面,“类重要性列表”前15%的类中包含系统中50%到70%左右的关键类。本文的主要贡献如下:n)提出了类间依赖图的概念和构建方法;f2)在类间依赖图上利用h
5、指数及其衍生度量提出了一种关键类识别方法;(31通过实验检查了所提关键类识别方法的有效性。关键词:关键类,h指数,依赖图,面向对象,程序理解南京大学硕士学位论文AbstractABSTRACTSoftwaremaintenanceisoneofthemostimportantproblemsinthefieldofsoftwareengineering.Analyzingandunderstandingprogramisthefirststepofsoftwaremaintenance.Accurate,prompta
6、ndcomprehensiveprogramunderstandinghasalargeinfluenceonsoftwaremaintenance.Usually,softwareengineersneedtoconsumemuchworkingtimetocomprehendthearchitectureandfunctionaofasoftwaresystem.Indeed,tosavethetime,softwareengineerscouldstarttounderstandthearchitecturean
7、dfunctionofthesystembyfollowingkeyclasses.Thesekeyclassesaretheclassesthatimplementtheimportantfunctionsofthesystem,whichmanagemostofotherclassesorusethemtoimplementtheirfunctionsHowever,whendealingwithunfamiliarsystems,softwareengineersusuallycouldnotfindthekey
8、classesdirectly.Inordertohelpsoftwareengineerstounderstandasystempromptly,thisthesisproposesalightweightapproachtoautomaticallyidentifykeyclassesfromsourcecodesusingh
此文档下载收益归作者所有