计算机科学 ›› 2017, Vol. 44 ›› Issue (4): 56-59.doi: 10.11896/j.issn.1002-137X.2017.04.012

• NASAC 2015 • 上一篇    下一篇

一种基于子图搜索的特征定位方法

付焜,吴毅坚,彭鑫,赵文耘   

  1. 复旦大学软件学院 上海201203上海市数据科学重点实验室复旦大学 上海201203,复旦大学软件学院 上海201203上海市数据科学重点实验室复旦大学 上海201203,复旦大学软件学院 上海201203上海市数据科学重点实验室复旦大学 上海201203,复旦大学软件学院 上海201203上海市数据科学重点实验室复旦大学 上海201203
  • 出版日期:2018-11-13 发布日期:2018-11-13
  • 基金资助:
    本文受国家自然科学基金(61370079),国家高技术研究发展计划(863)(2013AA01A605)资助

Feature Location Method Based on Sub-graph Searching

FU Kun, WU Yi-jian, PENG Xin and ZHAO Wen-yun   

  • Online:2018-11-13 Published:2018-11-13

摘要: 确定源代码中与给定需求特征相关的程序元素的过程称为特征定位。但现在大部分的特征定位方法仍是以特征相关的描述和代码结构信息为输入,以特征相关的代码元素为输出。这样的结果缺乏代码元素间的关系信息,难以让开发者快速理解相关特征的程序结构。针对这个问题,提出一种基于子图搜索的特征定位方法。该方法能找出与特征相关的代码元素,并以依赖调用图的形式将结果展示出来,让开发者快速了解代码结构。根据该方法实现了相应工具并经过实验验证了方法的有效性。该方法的平均准确率为40.41%,平均召回率为50.28%。

关键词: 特征定位,程序理解,代码结构,调用依赖

Abstract: The process to identify relevant program elements according to a given feature is called feature location.However,existing feature location methods,mainly based on feature description and source code structure,only produce source code elements as the result,which is usually lack of structural information and makes it difficult for developers to understand the code structure quickly.To solve this problem,a feature location method based on sub-graph search was proposed.The method finds out code elements related to the feature and the results can be displayed in a call graph.The method is implemented as a tool and tested for its performance.The average precision is 40.41% and the average recall is 50.28%.

Key words: Feature location,Program understanding,Code structure,Call dependence

[1] BIGGERSTAFF T J,MITBANDER B G,W EBSTER D E.Program understanding and the concept assignment problem[C]∥Communications of the ACM.1994:482-498.
[2] DIT B,REVELLE M,GETHERS M,et al.Feature location in source code:a taxonomy and survey[J].Journal of Software Maintenance & Evolution Research & Practice,2012,25(1):53-95.
[3] MARCUS A,MALETIC J I.Recovering Documentation to- Source-Code Traceability Links using Latent Semantic Indexing[C]∥ICSE.2003:125-135.
[4] TRIFU M.Using Dataflow Information for Concern Identification in Object-oriented Software Systems[C]∥European Conference on Software Maintenance & Reengineering.2008:193-202.
[5] WONG W E,HORGAN J R,GOKHALE S S,et al.LocatingProgram Features using Execution Slices[C]∥Proceedings 1999 IEEE Symposium on Application-Specific Systems and Software Engineering and Technology,1999(ASSET’99).IEEE,1999:194.
[6] KONAR K,VOSEK V,KULICH M,et al.CoMoGen:An approach to locate relevant task context by combining search and navigation[C]∥IEEE International Conference on Software Maintenance & Evolution.IEEE,2014:61-70.
[7] ZHAO W.Improving feature location practice with multi-faceted interactive exploration[C]∥2013 35th International Conference on Software Engineering (ICSE).IEEE,2013:762-771.
[8] BYRKA ,JAROSAW,GRANDONI F,et al.An Improved LP-based Approximation for Steiner Tree[C]∥Proceedings of the Forty-second ACM Symposium on Theory of Computing.ACM,2010:583-592.
[9] ZHAO W,ZHANG L,LIU Y,et al.SNIAFL:Towards a Static Non-Interactive Approach to Feature Location[C]∥International Conference on Software Enginee-ring.IEEE Computer Society,2004:293-303.
[10] EISENBARTH T,KOSCHKE R,S IMON D.Locating Features in Source Code[J].IEEE Transactions on Software Enginee-ring,2003,29(3):210-224.
[11] FU K,QIAN W Y,PENG X,et al.Feature Location Method Based on Call Chain Analysis[J].Computer Science,2014,1(11):36-39.(in Chinese) 付焜,钱文亿,彭鑫,等.一种基于调用链分析的特征定位方法[J].计算机科学,2014,41(11):36-39.
[12] BYRKA,JAROSAW,GRANDONI F,et al.An Improved LP-based Approximation for Steiner Tree[C]∥Proceedings of the Forty-second ACM Symposium on Theory of Computing.ACM,2010:583-592.

No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!