计算机科学 ›› 2014, Vol. 41 ›› Issue (11): 36-39.doi: 10.11896/j.issn.1002-137X.2014.11.008
付焜,钱文亿,彭鑫,赵文耘
FU Kun,QIAN Wen-yi,PENG Xin and ZHAO Wen-yun
摘要: 为了完成各种软件维护任务,如纠正错误、改进原有功能、添加新功能,开发人员经常需要确定需求特征与代码的对应关系。这种确定源代码中与给定需求特征相关的程序元素的过程称为特征定位。现有的特征定位方法主要根据用户提出的需求,在源代码中搜索相关的代码元素推荐给用户。然而这些零散的元素之间不具备任何关联,用户仍然需要人工地挖掘元素间的关系,来了解代码元素是如何相互配合、实现特定功能的。而通过与数据传递相关的方法调用链可以改进特征定位的实践方法。该方法能分析源代码,获取到所有的与数据传递相关的方法调用链,然后将根据用户提供的相关需求的关键字找到相关的调用链,推荐给用户。这种调用链不再是零散的代码元素,它能够反映出特定功能实现的流程,也能够更好地帮助用户理解程序。基于该方法实现的Eclipse插件工具已经在JEdit项目上进行了测试。结果显示该工具给出的推荐结果平均查准率可达55%。
[1] Biggerstaff T J,Mitbander B G,Webster D.The concept assignment problem in program understanding[C]∥Proceedings of the 15th International Conference on Software Engineering.IEEE Computer Society Press,1993:482-498 [2] Dit B,Revelle M,Gethers M,et al.Feature Location in Source Code:A Taxonomy and Survey[J].Journal of Software:Evolution and Process,2013,25(1):53-95 [3] Trifu M.Using Dataflow Information for Concern Identification in Object-Oriented Software Systems[C]∥Proceedings of European Conference on Software Maintenance and Reengineering (CSMR’ 08).2008:193-202 [4] Robillard M P.To pology Analysis of Software Dependencies[J].ACM Transactions on Software Engineering and Metho-dology, 2008,17(4):1-36 [5] Wong W E,Gokhale S S,Horgan J R,et al.Locating program features using execution slices[C]∥Proceedings of IEEE Symposium on Application-Specific Systems and Software Enginee-ring and Technology (ASSET’99).March 1999:194-203 [6] Eisenberg A D,De Volder K.Dynamic Feature Traces:Finding Features in Unfamiliar Code[C]∥Proceedings of 21st IEEE International Conference on Software Maintenance (ICSM’05).Buda pest,Hungary,September 2005:337-346 [7] Zhao W,Zhang L,Liu Y,et al.SNIAFL:Towards a Static Non -interactive Approach to Feature Location[J].ACM Transactions on Software Engineering and Methodologies (TOSEM),2006,15(2):195-226 |
No related articles found! |
|