首页> 外文期刊>IEEE Transactions on Software Engineering >A C++ data model supporting reachability analysis and dead codedetection
【24h】

A C++ data model supporting reachability analysis and dead codedetection

机译:支持可及性分析和死代码检测的C ++数据模型

获取原文
获取原文并翻译 | 示例
           

摘要

A software repository provides a central information source fornunderstanding and reengineering code in a software project. Complexnreverse engineering tools can be built by analyzing information storednin the repository without reparsing the original source code. The mostncritical design aspect of a repository is its data model, which directlynaffects how effectively the repository supports various analysis tasks.nThis paper focuses on the design rationales behind a data model for anC++ software repository that supports reachability analysis and deadncode detection at the declaration level. These two tasks are frequentlynneeded in large software projects to help remove excess softwarenbaggage, select regression tests and support software reuse studies. Thenlanguage complexity introduced by class inheritance, friendship, andntemplate instantiation in C++ requires a carefully designed model toncatch all necessary dependencies for correct reachability analysis. Wenexamine the major design decisions and their consequences in our modelnand illustrate how future software repositories can be evaluated forncompleteness at a selected abstraction level. Examples are given tonillustrate how our model also supports variants of reachabilitynanalysis: impact analysis, class visibility analysis, and dead codendetection. Finally, we discuss the implementation and experience of ournanalysis tools on a few C++ software projects
机译:软件存储库提供了一个中央信息源,用于了解和重新设计软件项目中的代码。可以通过分析存储在存储库中的信息来构建复杂的逆向工程工具,而无需重新解析原始源代码。存储库最关键的设计方面是其数据模型,它直接影响存储库有效支持各种分析任务的方式。n本文重点介绍支持声明性级别的可达性分析和Deadncode检测的C ++软件存储库数据模型背后的设计原理。大型软件项目中经常需要这两项任务,以帮助消除过多的软件负担,选择回归测试并支持软件重用研究。然后,由C ++中的类继承,友谊和n模板实例化引入的语言复杂性需要精心设计的模型来捆绑所有必要的依赖项,以进行正确的可达性分析。 Wenexamine在我们的模型中研究了主要的设计决策及其后果,并说明了如何在选定的抽象级别上评估未来软件存储库的不完整性。给出了一些例子,说明我们的模型还如何支持可达性分析的变体:影响分析,类可见性分析和无效编码检测。最后,我们讨论了一些C ++软件项目上我们的分析工具的实现和经验

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号