论文部分内容阅读
软件的复杂性一方面体现在自身规模的庞大和内部控制结构的多变;另一方面,随着万维网的普及和Internet技术的不断发展,以用户为中心、面向服务的网构化软件在应用环境上为软件系统引入了新的复杂性。正是由于内外两方面的因素,使得软件系统具有不易理解、非确定、难操控等特点,给软件的设计、开发、维护和管理造成了诸多困难。复杂网络理论的成熟和随之带来的新发现为理解软件这类人造自适应复杂系统提供了强有力的手段,通过将软件系统看作复杂网络,从整体和全局的角度来探索和发现软件的结构特征、动态行为和演化规律,揭示出一些隐藏在软件内部的不变模式和普遍规律,有助于科学全面地理解软件系统的本质特性,在度量软件复杂性、优化系统结构、提高软件可用性和稳定性等方面具有十分重要的现实意义。本文基于复杂网络理论对软件执行网络的动态行为进行了研究,主要完成的工作有:(1)给出了基于动态函数调用关系的执行网络定义,并阐述了构建执行网络的流程。(2)基于复杂网络的结构指标对三个开源软件的执行网络进行了度量与分析。主要的内容包括:执行网络的结构特征度量,以及与静态函数关联网络的对比分析;网络中关键节点的行为角色分析;执行网络结构特征的动态演化分析。(3)在考虑函数调用次数的情况下提出了加权执行网络模型,对其加权结构特征进行了度量和对比分析。(4)基于Markov随机过程建立了用户行为特征模型,抽取了大量用户频繁使用的关键操作并生成执行网络,对该类网络的拓扑结构进行了度量和分析。