期刊文献+

结合动静态分析实现架构恢复的方法 被引量:1

Approach for Implementing Architecture Recovery by Combining Dynamic and Static Analysis
下载PDF
导出
摘要 在大型遗留系统的维护活动中,通过聚类技术将系统划分为更小和更易于控制的子系统,是理解软件架构的一项重要措施。传统架构恢复的研究主要关注静态结构,而面向对象系统由于多态和动态绑定等复杂因素的存在,仅有结构分析还不足以支持架构恢复。功能特征作为一种可触发可观察的系统行为反映了系统实现的功能需求,已经成为构建核心架构的基础。提出一种动静态结合的分析方法,以软件特征作为出发点,通过特征的场景执行以及模块聚类,建立起目标系统的核心架构,然后分析系统的静态结构以提取模块的依赖关联,补充实体到已建立的聚类中。通过对两个开源项目的实验评估和讨论,分析所提方法的有效性和适用性。 In the maintenance activities of large legacy systems,it is an important measure to understand the software architecture to divide the system into smaller and more manageable subsystems through clustering technology.The researches on architectural decomposition mostly focus on static structural relationships.However,due to the complexity of object-oriented systems such as polymorphism and dynamic binding existing,these structural relationships are not sufficient enough for system structure recovery.As a kind of system behavior that can be triggered and observed,feature reflects the functional requirements of a system implementation and has become the foundation of building core framework.This paper presents a combination of dynamic and static analysis approach,starting from the software features analysis,through the scenarios of the features executing and modules clustering to establish the core architecture of the system,and then analyzes the static structure to extract modules dependence,supplementing scenarios and components to the existing clusters.Two open source projects are evaluated and discussed to indicate the effectiveness and applicability of the proposed approach.
作者 任武 REN Wu(Shanghai Lixin University of Accounting and Finance,Shanghai 201620,China)
出处 《计算机科学与探索》 CSCD 北大核心 2019年第4期563-573,共11页 Journal of Frontiers of Computer Science and Technology
基金 上海立信会计金融学院科研启动基金项目(No.1419080006012)~~
关键词 动态分析 程序理解 架构恢复 依赖性分析 特征追踪 dynamic analysis program understanding architecture recovery dependency analysis feature traces
  • 相关文献

参考文献2

二级参考文献131

  • 1Bellay B Gall H.A comparison of four reverse engineering tools. In: Proceedings of the 4th Working Conference on Reverse Engineering WCRE''97. Amsterdam, 1997. 2~12.http://www.science.uva.nl/research/WCRE97/,.
  • 2Tan Pangning. Introduction to data mining[M]. Upper Saddle River, NJ, USA: Pearson Education, 2006.
  • 3Xie Tao, Thummalapenta S, Lo D, et al. Data mining for software engineering[J]. Computer, 2009, 42: 55-62.
  • 4Wheeler D. Linux kernel 2.6: It's worth more! 2004.
  • 5Royce W W. Managing the development of large software systems: concepts and techniques[C]//Proceedings of the 9th International Conference on Software Engineering (ICSE '87), Monterey, CA, USA, 1987. Los Alamitos, CA,USA: IEEE Computer Society, 1987: 328-338.
  • 6Ko A J, DeLine R, Venolia G. Information needs in collocated software development teams[C]//Proceedings of the 29th International Conference on Software Engineering (ICSE '07), Minneapolis, MN, USA, 2007. Washington, DC, USA: IEEE Computer Society, 2007: 344-353.
  • 7Han Jiawei, Kamber M, Pei Jian. Data mining: concepts and techniques[M]. [S.l.]: Morgan Kaufmann, 2005.
  • 8Deerwester S, Dumais S T, Furnas G W, et al. Indexing by latent semantic analysis[J]. Journal of the American Society for Information Science, 1990, 41(6): 391--407.
  • 9Hofmann T. Probabilistic latent semantic indexing[C]// Proceedings of the 22nd Annual International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR '99), Berkeley, CA, USA, 1999. New York, NY, USA: ACM, 1999: 50-57.
  • 10Blei D M, Ng A Y, Jordan M I. Latent Dirichlet allocation[J]. The Journal of Machine Learning Research, 2003, 3: 993-1022.

共引文献37

同被引文献14

引证文献1

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部