×

使用多种信息源进行程序理解的一种面向对象的方法。 (英语) Zbl 1291.68150号

概要:程序理解是贯穿软件维护和重用的关键活动。通过理解程序所获得的知识可以指导工程师执行各种软件维护和重用任务。有效的理解策略和相关的有效方法,以及复杂的工具支持,是整个程序理解解决方案的不可或缺的要素,以降低这项重要活动的高成本。本文提出了一种面向对象的理解策略,与文献中传统的综合理解策略进行了对比。它是对特定任务的一种按需理解,在实践中更有效。此外,还提出了使用多个信息源来理解程序的相应框架。从这两个角度出发,我们提出了一种使用需求文档的面向特征的程序理解方法。此方法针对特定类别的与功能相关的软件维护和重用任务。进行案例研究以评估建议的解决方案。研究案例的结果表明,实验原型在执行这些任务时为软件工程师提供了更明确的建议。

MSC公司:

68纳米30 软件工程的数学方面(规范、验证、度量、需求等)
68第20页 信息存储和数据检索
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Lientz B、Swanson E、Tompkins G E.应用软件维护的特点。ACM委员会,1978,21(6):466–471·数字对象标识代码:10.1145/359511.359522
[2] Boehm B W.软件工程经济学。哈洛:普伦蒂斯·霍尔,1981年·Zbl 0525.90034号
[3] Rugaber S.项目理解。乔治亚理工学院工作报告,1995年5月
[4] Fjeldstad R K,Hamlen W T.应用程序维护研究:向我们的受访者报告。收录:《会议记录指南》。一千九百八十三点四八
[5] Yang F,Mei H,Li K.软件复用与软件组件技术。《赎罪学报》,1999,27(2):68–75
[6] Biggerstaff T J,Mitbander B G,Webster D。程序理解中的概念分配问题。收录:巴尔的摩软件工程国际会议论文集。1993. 482–498
[7] Muller H A、Xlley S R、Orgun M A等。基于空间和可视化软件互连模型的逆向工程环境。摘自:第五届ACM SIGSOFT软件开发环境研讨会论文集。1992. 88–98
[8] Storey M-A D,Muller H A.使用虾视图操作和记录软件结构。1995年国际软件维护会议记录(ICSM’95)。法国,1995年。275–284
[9] 梅赫,袁伟,吴强,等。BDCom-C++:一个C++程序理解系统。Chin J Elect(中文),1997,6(2):64–69
[10] 梅赫,吴强,袁伟,等.Smalltalk程序理解系统DBCom-ST.Chin J Comp(中文),2000,23(8):882-886
[11] Mayrhauser A V,Vans A M。软件维护和进化过程中的程序理解。IEEE Comp,1995,28(8):44–55·doi:10.1109/2.402076
[12] 理解他人的代码:经验分析。《系统软件杂志》,1993年,23:269–275·doi:10.1016/0164-1212(93)90101-3
[13] Shneiderman B,Mayer R.程序员行为中的句法/语义交互:模型和实验结果。国际计算机信息科学杂志,1979,8(3):2190–2238·Zbl 0419.68075号
[14] 布鲁克斯R。迈向理解计算机程序的理论。Int J Man-Mach Stud,1983年,18:543–554·doi:10.1016/S0020-7373(83)80031-5
[15] Soloway E,Ehrlich K。编程知识的实证研究。IEEE Trans软件工程,1984,10(5):595–609·doi:10.1109/TSE.1984.5010283
[16] Letovsky S.程序理解中的认知过程。收录:《程序员第一次研讨会实证研究论文集》。1986. 58–79
[17] Pennington N.计算机程序专家理解中的刺激结构和心理表征。Cognit Psych,1987,19:295–341·doi:10.1016/0010-0285(87)90007-7
[18] Harandi M T,Ning J Q。基于知识的项目分析。IEEE软件,1990,7(1):74–81·doi:10.1009/52.43052
[19] Antoniol G、Canfora G、Casazza G等。恢复代码和文档之间的可追溯性链接。IEEE Trans软件工程,2002,28(10):970–983·doi:10.1109/TSE.2002.1041053
[20] Marcus A,Maletic J I.使用潜在语义索引恢复文档到源代码的可追溯性链接。收录于:2003年软件工程国际会议论文集。125–135
[21] Ying A T T、Murphy G C、Ng R等。通过挖掘更改历史预测源代码更改。IEEE Trans软件工程,2004,30(9):574–586·doi:10.1109/TSE.2004.52
[22] Zimmermann T、Zeller A、Weissgerber P等。挖掘版本历史以指导软件更改。IEEE Trans软件工程,2005,31(6):429–445·doi:10.1109/TSE.2005.72
[23] Cubranic D、Murphy G C、Singer J等。Hipikat:软件开发的项目记忆。IEEE Trans软件工程,2005,31(6):446–465·doi:10.1109/TSE.2005.71
[24] Tilley S R、Paul S、Smith D B.《程序理解框架》。摘自:第四届程序理解研讨会论文集。1996. 19–28
[25] Eisenbarth T,Koschke R,Simon D.在源代码中定位功能。IEEE Trans软件工程,2003,29(3):210–224·doi:10.1109/TSE.2003.1183929
[26] Chen K,Rajlich V.使用依赖图进行特征定位的案例研究。摘自:程序理解国际研讨会论文集。2000. 241–249
[27] Mehta A,Heineman G T。将遗留系统功能演变为细粒度组件。收录于:《第24届国际软件工程会议论文集》,2002年。417–427
[28] Le GA、Buckley J、Cleary B等。在组件恢复过程中实现重用视角:工业规模的案例研究。收录于:第13届程序理解国际研讨会论文集。2005. 279–288
[29] Griswold W G,Yuan J J,Kato Y。在软件进化工具中利用地图隐喻。收录于:《2001年国际软件工程会议论文集》。265–274
[30] Robillard M P,Murphy G C。关注点图:使用结构化程序依赖性查找和描述关注点。收录于:《国际软件工程会议论文集》,2002年。406–416
[31] Wilde N,Scully M C.软件侦察:将程序特性映射到代码。《软件维护:研究与实践》,1995,7(1):49–62·doi:10.1002/smr.4360070105
[32] Wilde N、Gomez J A、Gust T等。在旧代码中定位用户功能。摘自:软件维护国际会议论文集。1992. 200–205
[33] Wong W E,Gokhale S S,Horgan J R,等。使用执行切片定位程序特征。摘自:应用特定系统和软件工程技术研讨会论文集。1999. 194–203
[34] Salton G,Lesk M E.索引和文本处理的计算机评估。美国医学会杂志,1968,15(1):8–36·Zbl 0153.47101号 ·数字对象标识代码:10.1145/321439.321441
[35] Salton G.SMART检索系统——自动文档处理实验。新泽西州恩格尔伍德克利夫斯:普伦蒂斯·霍尔公司,1971年
[36] Baeza-Yates R,Ribeiro-Neto B.现代信息检索。纽约:ACM出版社,Addison-Wesley,1999年。44–46
[37] Qin T,Zhang L,Zhou Z,et al.使用分支调用图从源代码中发现用例。摘自:《亚太软件工程会议论文集》。2003. 60–67
[38] 赵伟,张磊,梅华,等。需求引导的动态软件聚类。载:《软件维护国际会议论文集》。2005. 605–608
[39] GNU(全球通用单位)。MC:将文本文档转换为向量空间模型。( http://www.cs.utexas.edu/users/jfan/dm
[40] Rakotomalala R.TANAGRA:用于研究和学术目的的自由软件。收录于:《2005年埃及政府公报》,RNTI-E-3(法语),2005年,2:697–702
[41] GNU(全球通用单位)。DC:任意精度计算器。( http://www.gnu.org/directory/gnu/bc.html
[42] Zhao W,Zhang L,Liu Y,et al.SNIAFL:走向静态非交互式特征定位方法。2004年第26届国际软件工程会议论文集。293–303
[43] 赵伟,张磊,刘毅,等。SNIAFL:走向静态非交互式特征定位方法。ACM Trans软件工程方法,2006,15(2):195–226·doi:10.145/1131421.1131424
[44] Eick S,Steffen J,Summer E.Seesoft——可视化面向行的软件统计的工具。IEEE Trans软件工程,1992,18(11):957–968·doi:10.1009/32.177365
[45] Marcus A、Sergeyev A、Rajlich V等。源代码中概念位置的信息检索方法。摘自:2004年第11届逆向工程工作会议论文集。214–223
[46] Deerwester S,Dumais S T,Furnas G W,等。基于潜在语义分析的索引。《美国社会科学杂志》,1990年,41:391–407·doi:10.1002/(SICI)1097-4571(199009)41:6<391::AID-ASI1>3.0.CO;2至9
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。