首页 | 官方网站   微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 466 毫秒
1.
复杂软件结构可以看作是一个有向网络图,该有向网络图的网络结点为软件系统的某种粒度单元,比如包、类、组件等都可以称为网络结点,他们之间的依赖关系就构成了整个软件网络。本文对软件网络做了简要介绍,研究和分析了软件依赖关系及其统计特性,并对网络结点在复杂软件中的影响进行了分析,最后提出了软件网络关键结点这一概念。  相似文献   

2.
现实社会存在大量复杂网络,随着大数据时代的来临,复杂网络数据规模不断扩大,难以进行算法分析和可视化展示.针对复杂网络小世界、无标度特性,提出基于K-sup稠密子图的复杂网络概要算法,利用三角形在网络中的同质性和传递性发现复杂网络中的稠密子图,结合模块度最大化,将子图中相似的节点归并为超点;运用分层结构存储概要图,并进行可视化显示.该算法能对大规模复杂网络进行有效压缩,保持原网络的性质.在5个真实数据集上进行对比实验,显示出该算法在压缩率、幂率性和平均聚类系数的保持等指标优于已有算法,同时在大规模数据下具有保持网络拓扑结构且支持概要图分层可视化的优点.  相似文献   

3.
《软件世界》2008,(10):88-91
计算机和网络技术不断推进着人类的生产力。Linux的诞生又为之带来一场开放与自由的变革。由于Linux操作系统开放源码的特性,越来越多的大中型企业、政府投入更多的资源开发Linux。Linux的广泛使用为政府机构和许多企业节省了不少经费,也降低了对封闭源码软件潜在的安全性的忧虑。  相似文献   

4.
研究了开源软件的网络结构中3节点子图的显著性,发现软件规模越大局部结构的网络化趋势越显著.树型的3节点子图呈现下降趋势,在封闭的3节点子图中,除部分趋势不显著外,大都呈现上升趋势.根据3节点子图的显著性剖面,软件网络大致可以分为3类,与已发现的4个有向复杂网络超级族中的3个基本一致,大部分软件网络的局部结构与生物网络相...  相似文献   

5.
面向对象程序整体结构及其特性的逆向分析和可视化在软件维护、软件重用等过程中起着重要作用。现有的逆向工程工具尽管可以通过对程序代码的静态分析自动获取类模型,但是在自动布图方面仍存在一些明显的问题,特别是难以直观展现类之间的耦合性、聚集效应等程序整体结构的重要特性,从而影响其实际应用。Force-Directed Layout算法能够自然展现复杂结构的耦合关系和聚集现象,因此,将其应用于类图的逆向生成,使其在充分展示程序整体结构的同时,清晰展现类之间的耦合性和聚集效应等结构特征,为软件结构演化分析、缺陷分布分析等提供辅助支持。据此,开发了软件分析与测试工具系列QESat的子工具——基于拉力算法的类图可视化工具QESat/FCD(QualityEasy-Software Analysis and Testing Tools:Force-Directed Class Diagram),通过实例展示了其在大型类图结构特性方面的展现效果。  相似文献   

6.
针对大型船舶的联网设备的网络特性,提出了一种用于研发联网设备网络协议和检测网络运行状态的模拟器设计方案。该方案采用PC104作为硬件架构,在Linux平台上使用面向对象技术对各联网设备的网络特性进行建模,实现对各联网设备网络特性的模拟;并采用编写脚本文件的方法增强了模拟器的仿真灵活性和软件扩展能力。该模拟器构建的网络实验平台,能够加快联网设备和网络协议的研发速度、检测网络性能和降低开发费用。  相似文献   

7.
软件静态结构的依赖网络建模方法与特性分析   总被引:3,自引:0,他引:3  
现有的软件复杂网络建模方法,对模型的定义各不相同,缺少统一的框架,导致不同编程语言、不同粒度的软件模型分析对比困难。针对软件的静态结构,分析对比了现有建模方法的特点,提出了软件依赖网络建模方法,将软件系统抽象为计算服务提供者以及它们之间的依赖关系,实现了不同粒度下网络模型的直观映射;通过对Java软件依赖网络的实例分析,证明其具有小世界、高聚类系数的特性,入度基本服从幂率分布,出度基本服从带指数截断的幂率分布,并指出这些网络特性的软件工程含义,探讨了它们对软件开发和维护的指导意义。  相似文献   

8.
出了基于复杂网络研究操作系统内核模块演化的方法.通过研究223个Linux版本(从1.1.0到2.4.35)内核模块函数调用图的度分布和平均路径长度,发现函数调用图具有无标度和小世界特征.根据复杂网络中平均路径长度与网络节点的关系,提出了通过平均路径长度斜率发现演化过程中的异常点,从而发现内核模块结构重大变化的方法.提...  相似文献   

9.
目前日益复杂的城市交通网络使得人们对交通网络的区域划分提出了新的需求.提出一种基于分裂和划分思想的交通网络层次聚类算法FEMC-means(frequency edges in maximal cliques-means),首先通过极大团中的频繁边发现将复杂交通网络分裂为一系列骨干图,而后以骨干图为聚类中心点,根据节点与中心的平均距离将原始交通网络聚合成若干子图,从而实现公共交通网络根据拓扑结构和网络特性的层次聚类.以北京市公交网络为实验场景.实验结果表明,用算法划分的绝大部分簇在地理上较为集中地覆盖了北京市不同交通区域,与GN算法以及快速算法划分结果对比,具有更好的地理表征意义和更优的结构聚类评价值.  相似文献   

10.
目前,实达软件下属实达朗新和东方龙马都已开发出基于Linux的应用软件产品。实达朗新是国内最早开发出Linux应用软件的企业,最早的一个网络安全产品Netshine(Ⅰ)防火墙,已经取得安全部测评,给予经营许可证; Linux在我国的切入点首先是WEB站点市场,即利用Linux极强的网络性能和免费的特性,建立廉价高效的WEB服务器,东方龙马于日前推出Linux下的中文Internet/Intranet服务器应用软件ANET1.0就是这样的  相似文献   

11.
软件中的网络化特征及其对软件质量的贡献   总被引:9,自引:0,他引:9  
现实世界中的许多复杂系统都可以使用网络模型进行描述,复杂网络的结构和性质研究已经成为引人注目的领域。软件作为一类复杂系统,也可以使用网络化的方法进行定量分析。文章首先介绍了度量网络特征的参数,然后将复杂网络理论引入人工设计和实现的软件中,把其中的实体和关系转换成为网络拓扑的形式,通过对四个不同规模并经过详细设计的Java类库进行实验验证和数值分析,发现其中的无尺度特征、小世界现象和脆弱性/鲁棒性并存的特点。根据这些结论,提出利用网络拓扑特征改善软件系统的设计、开发和测试方法。这些结果对提高软件质量具有有益的启示和指导意义。  相似文献   

12.
复杂网络与网络化软件系统   总被引:1,自引:0,他引:1  
复杂网络理论是对复杂系统的高度抽象,实证研究发现网络化复杂软件系统的拓扑结构具有复杂网络的特征.复杂网络理论的最新研究成果,为网络化复杂软件系统的开发提供了新的数学基础.提出一种基于复杂网络的网络化软件工程,探讨了复杂网络理论在网络化复杂软件系统的建模、测试和度量中的应用.  相似文献   

13.
基于复杂网络的大型软件系统度量   总被引:2,自引:0,他引:2  
随着软件系统规模的不断增大,如何度量面向对象大规模软件系统成为一个亟待解决的问题.近年来迅速发展的复杂网络理论为解决该问题提供了一个新的视角.介绍了大规模软件系统中的复杂网络现象,从元素级、模块级、网络级3个不同的粒度提出基于复杂网络的软件系统的各种度量;实现了大型Java程序复杂网络描述和度量工具JPAC.JPAC可用于分析大型Java系统的结构,并计算基于复杂网络的各度量值.  相似文献   

14.
随着软件产业的迅速发展,软件系统的功能和结构日益复杂,有必要有效地理解复杂软件系统的结构,理解其在生命周期里的变化规律.开发了一个基于复杂网络的Java程序分析工具,分析Java代码,为Java软件系统结构构建复杂网络,并进行复杂网络特征的统计和分析,为更好地研究和理解复杂软件系统的结构及其演化规律提供了有力的支持.  相似文献   

15.
Software execution processes as an evolving complex network   总被引:2,自引:0,他引:2  
Inspired by the surprising discovery of several recurring structures in various complex networks, in recent years a number of related works treated software systems as a complex network and found that software systems might expose the small-world effects and follow scale-free degree distributions. Different from the research perspectives adopted in these works, the work presented in this paper treats software execution processes as an evolving complex network for the first time. The concept of software mirror graph is introduced as a new model of complex networks to incorporate the dynamic information of software behavior. The experimentation paradigm with statistical repeatability was applied to three distinct subject programs to conduct several software experiments. The corresponding experimental results are analyzed by treating the software execution processes as an evolving directed topological graph as well as an evolving software mirror graph. This results in several new findings. While the software execution processes may demonstrate as a small-world complex network in the topological sense, they no longer expose the small-world effects in the temporal sense. Further, the degree distributions of the software execution processes may follow a power law. However, they may also follow an exponential function or a piecewise power law.  相似文献   

16.
The quality of a software system is largely determined by its internal structures which always degrade over the software evolution. Therefore, the structures have to be reconditioned from time to time. However, the existing methods are very complex and resource-consuming when doing this task. In this paper, we present an approach to recondition the class structures of object-oriented (OO) software systems. It uses attribute-method networks and method-method networks to represent attributes, methods and dependencies between them; It proposes a guided community detection algorithm to obtain the optimized community structures in the method-method networks, which also correspond to the optimized class structures; It also provides a list of refactorings by comparing the optimized class structures with the real class structure in software systems and inspecting the attribute-method networks. The approach is evaluated using the open-source case study, JHotDraw 5.1, and the advantages of our approach are illustrated in comparison with existing methods.  相似文献   

17.
The quality of a software system is largely determined by its internal structures which always degrade over the software evolution. Therefore, the structures have to be reconditioned from time to time. However, the existing methods are very complex and resource-consuming when doing this task. In this paper, we present an approach to recondition the class structures of object-oriented (OO) software systems. It uses attribute-method networks and method-method networks to represent attributes, methods and dependencies between them; It proposes a guided community detection algorithm to obtain the optimized community structures in the method-method networks, which also correspond to the optimized class structures; It also provides a list of refactorings by comparing the optimized class structures with the real class structure in software systems and inspecting the attribute-method networks. The approach is evaluated using the open-source case study, JHotDraw 5.1, and the advantages of our approach are illustrated in comparison with existing methods.  相似文献   

18.
Complex networks are everywhere. A typical example is software network. Basing on analyzing evolutive structure of the software networks, we consider accelerating growth of network as power-law growth, which can be more easily generalized to real systems than linear growth. For accelerating growth via a power law and scale-free state with preferential linking, we focus on exploring the generic property of complex networks. Generally, two scenarios are possible. In one of them, the links are undirected. In the other scenario, the links are directed. We propose two models that can predict the emergence of power-law growth and scale-free state in good agreement with these two scenarios and can simulate much more real systems than existing scale-free network models. Moreover, we use the obtained predictions to fit accelerating growth and the connectivity distribution of software networks describing scale-free structure. The combined analytical and numerical results indicate the emergence of a novel set of models that considerably enhance our ability to understand and characterize complex networks, whose applicability reaches far beyond the quoted examples.  相似文献   

19.
Complex networks are everywhere. A typical example is software network. Basing on analyzing evolutive structure of the software networks, we consider accelerating growth of network as power-law growth, which can be more easily generalized to real systems than linear growth. For accelerating growth via a power law and scale-free state with preferential linking, we focus on exploring the generic property of complex networks. Generally, two scenarios are possible. In one of them, the links are undirected. In the other scenario, the links are directed. We propose two models that can predict the emergence of power-law growth and scale-free state in good agreement with these two scenarios and can simulate much more real systems than existing scale-free network models. Moreover, we use the obtained predictions to fit accelerating growth and the connectivity distribution of software networks describing scale-free structure. The combined analytical and numerical results indicate the emergence of a novel set of models that considerably enhance our ability to understand and characterize complex networks, whose applicability reaches far beyond the quoted examples.  相似文献   

20.
ContextSoftware networks are directed graphs of static dependencies between source code entities (functions, classes, modules, etc.). These structures can be used to investigate the complexity and evolution of large-scale software systems and to compute metrics associated with software design. The extraction of software networks is also the first step in reverse engineering activities.ObjectiveThe aim of this paper is to present SNEIPL, a novel approach to the extraction of software networks that is based on a language-independent, enriched concrete syntax tree representation of the source code.MethodThe applicability of the approach is demonstrated by the extraction of software networks representing real-world, medium to large software systems written in different languages which belong to different programming paradigms. To investigate the completeness and correctness of the approach, class collaboration networks (CCNs) extracted from real-world Java software systems are compared to CCNs obtained by other tools. Namely, we used Dependency Finder which extracts entity-level dependencies from Java bytecode, and Doxygen which realizes language-independent fuzzy parsing approach to dependency extraction. We also compared SNEIPL to fact extractors present in language-independent reverse engineering tools.ResultsOur approach to dependency extraction is validated on six real-world medium to large-scale software systems written in Java, Modula-2, and Delphi. The results of the comparative analysis involving ten Java software systems show that the networks formed by SNEIPL are highly similar to those formed by Dependency Finder and more precise than the comparable networks formed with the help of Doxygen. Regarding the comparison with language-independent reverse engineering tools, SNEIPL provides both language-independent extraction and representation of fact bases.ConclusionSNEIPL is a language-independent extractor of software networks and consequently enables language-independent network-based analysis of software systems, computation of design software metrics, and extraction of fact bases for reverse engineering activities.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司    京ICP备09084417号-23

京公网安备 11010802026262号