基于LoCMD 的软件修改分析技术
作者:
基金项目:

国家自然科学基金(60973149); 国家教育部博士点基金(20100092110022); 中国科学院软件研究所计算机科学国家重点实验室开放基金(SYSKF1110); 东南大学优秀博士学位论文基金(YBJJ1102)


Using LoCMD to Support Software Change Analysis
Author:
  • 摘要
  • | |
  • 访问统计
  • |
  • 参考文献 [29]
  • |
  • 相似文献
  • |
  • 引证文献
  • | |
  • 文章评论
    摘要:

    当对软件进行修改时,肯定会对软件的其他部分造成一些潜在的影响,从而带来软件的不一致性;如果该修改所带来的影响波及到整个系统,可能就需要考虑其他修改方案来实施该修改.因此在实施修改之前,需要对所提出的修改方案进行修改分析,从而确定是否需要进行修改或者选择什么方案进行修改.基于形式概念分析技术,提出了一种紧凑的面向对象程序中间表示——类与方法依赖格(LoCMD);然后,基于LoCMD,提出了一种修改分析模型,该模型包含了修改实施前一系列软件修改分析活动,包括与修改相关的程序理解、影响分析以及修改评估.实验结果表明了所提出的LoCMD 和修改模型的有效性,从而有助于维护人员对所提出的修改建议做出正确的理解与决策.

    Abstract:

    Software progression is a fundamental ingredient of software. When changes are made to software, they will inevitably have some unpredicted effects and may cause inconsistencies with other parts of the original software. If the effects induced by the changes affect the whole system, an alternative change proposal may be required instead. Hence, change analysis is necessary before change implementation. This paper presented a compact intermediate representation for object oriented programs based on formal concept analysis—lattice of class and method dependence (LoCMD). Then, based on LoCMD, the study proposes a change analysis model, which includes some activities before change implementation, i.e., program comprehension, impact analysis and change assessment. The empirical study demonstrates the effectiveness of the representation and the change analysis model, and will help maintainers gain a better understanding about the change proposal.

    参考文献
    [1] Wilde N, Huitt R. Maintenance support for object-oriented programs. IEEE Trans. on Software Engineering, 1992,18(12):1038-1044. [doi: 10.1109/TSE.1992.1263033]
    [2] Ganter B, Wille R. Formal Concept Analysis: Mathematical Foundations. Berlin: Springer-Verlag, 1996.
    [3] Tilley T, Cole R, Becker P, Eklund P. A survey of formal concept analysis support for software engineering activities. LNCS 3626:Formal Concept Analysis. Berlin: Springer-Verlag, 2005. 250-271. [doi: 10.1007/11528784_13]
    [4] Tonella P. Formal concept analysis in software engineering. In: Proc. of the Int'l Conf. on Software Engineering. Edinburgh, 2004.743-744. http://portal.acm.org/citation.cfm?id=998675.999497 [doi: 10.1109/ICSE.2004.1317515]
    [5] Birkhoff G. Lattice Theory. American Mathematical Society, 1940.
    [6] Law J, Rothernel G. Whole program path-based dynamic impact analysis. In: Proc. of the Int'l Conf. on Software Engineering.2003. 308-318. [doi: 10.1109/ICSE.2003.1201210]
    [7] Apiwattanapong T, Orso A, Harrold MJ. Efficient and precise dynamic impact analysis using execute after sequences. In: Proc. ofthe Int'l Conf. on Software Engineering. 2005. 432-441. [doi: 10.1145/1062455.1062534]
    [8] Canfora G, Cerulo L. Fine grained indexing of software repositories to support impact analysis. In: Proc. of the Int'l Workshop onMining Software Repositories. 2006. 105-111. [doi: 10.1145/1137983.1138009]
    [9] Tonella P. Using a concept lattice of decomposition slices for program understanding and impact analysis. IEEE Trans. on SoftwareEngineering, 2003,29(6):495-509. [doi: 10.1109/TSE.2003.1205178]
    [10] Buckner J, Buchta J, Petrenko M, Rajlich V. JRipples: A tool for program comprehension during incremental change. In: Proc. ofthe Int'l Workshop on Program Comprehension. 2005. 149-152. [doi: 10.1109/WPC.2005.22]
    [11] Jashki MA, Zafarani R, Bagheri E. Towards a more efficient static software change impact analysis methods. In: Proc. of the ACMSIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering. 2008. 84-90. [doi: 10.1145/1512475.1512493]
    [12] Chaumun MA, Kabaili H, Keller RK, Lustman F. A change impact model for changeability assessment in object-oriented softwaresystems. In: Proc. of the 3rd Working Conf. on Software Maintenance and Reengineering. 1999. 130-138. [doi: 10.1109/CSMR.1999.756690]
    [13] Fluri B. Assessing changeability by investigating the propagation of change types. In: Proc. of the Int'l Conf. on SoftwareEngineering, Edinburgh (ICSE Companion). 2007. 97-98. [doi: 10.1109/ICSECOMPANION.2007.23]
    [14] Bohner S, Arnold R. Software Change Impact Analysis. Los Alamitos: IEEE Computer Society Press, 1996.
    [15] Sun XB, Li BX, Tao CQ, Wen WZ, Zhang S. Change impact analysis based on a taxonomy of change types. In: Proc. of the IEEEInt'l Computer Software and Applications Conf. 2010. 373-382. [doi: 10.1109/COMPSAC.2010.45]
    [16] Tonella P. Concept analysis for module restructuring. IEEE Trans. on Software Engineering, 2001,27(4):351-363. [doi: 10.1109/32.917524]
    [17] Snelting G, Tip F. Reengineering class hierarchies using concept analysis. ACM Trans. on Programming Languages and Systems,2000,22(3):540-582. [doi: 10.1145/288195.288273]
    [18] Eisenbarth T, Koschke R, Simon D. Locating features in source code. IEEE Trans. on Software Engineering, 2003,29(3):195-209.[doi: 10.1109/TSE.2003.1183929]
    [19] Tonella P, Antoniol G. Inference of object oriented design patterns. Journal of Software Maintenance, 2001,13(5):309-330. [doi:10.1002/smr.235]
    [20] Ammons G, Mandelin D, Bodik R, Larus JR. Debugging temporal specifications with concept analysis. In: Proc. of the Conf. onProgramming Language Design and Implementation. 2003. 182-195. [doi: 10.1145/781131.781152]
    [21] Tonella P, Ceccato M. Aspect mining through the formal concept analysis of execution traces. In: Proc. of the Working Conf. onReverse Engineering. 2004. 112-121. [doi: 10.1109/WCRE.2004.13]
    [22] Cellier P. Formal concept analysis applied to fault localization. In: Proc. of the Int'l Conf. on Software Engineering. 2008. 991-994.[doi: 10.1145/1370175.1370220]
    [23] Xu JQ, Peng X, Zhao WY. Program clustering for comprehension based on fuzzy formal concept analysis. Journal of ComputerResearch and Development, 2009,46(9):1556-1566 (in Chinese with English abstract).
    [24] Khor S, Grogono P. Using a genetic algorithm and formal concept analysis to generate branch coverage test data automatically. In:Proc. of the IEEE Int'l Conf. on Automated Software Engineering. 2004. 346-34. [doi: 10.1109/ASE.2004.1342761]
    [25] Sun XB, Li BX, Zhang S, Tao CQ. Using lattice of class and method dependence for change impact analysis of object orientedprograms. In: Proc. of the 26th Symp. on Applied Computing. 2011. 1444-1449. [doi: 10.1145/1982185.1982495]
    [26] Koschke R, Quante J. On dynamic feature location. In: Proc. of the 20th IEEE/ACM Int'l Conf. on Automated SoftwareEngineering. 2005. 86-95. [doi: 10.1145/1101908.1101923]
    [27] Tallam S, Gupta N. A concept analysis inspired greedy algorithm for test suite minimization. In: Proc. of the 6th ACM SIGPLANSIGSOFTWorkshop on Program Analysis for Software Tools and Engineering. 2005. 35-42. [doi: 10.1145/1108768.1108802]
    [28] Arévalo G, Ducasse S, Gordillo S, Nierstrasz O. Generating a catalog of unanticipated schemas in class hierarchies using formalconcept analysis. Information and Software Technology, 2010,52(11):1167-1187. [doi: 10.1016/j.infsof.2010.05.010]
    [29] Siff M, Reps T. Identifying modules via concept analysis. IEEE Trans. on Software Engineering, 1999,25(6):749-768. [doi:10.1109/32.824377]
    相似文献
引用本文

孙小兵,李必信,陶传奇.基于LoCMD 的软件修改分析技术.软件学报,2012,23(6):1368-1381

复制
相关视频

分享
文章指标
  • 点击次数:4477
  • 下载次数: 5853
  • HTML阅读次数: 0
  • 引用次数: 0
历史
  • 收稿日期:2010-07-05
  • 最后修改日期:2011-03-29
  • 在线发布日期: 2012-06-05
文章二维码
您是第位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号