Font Size: a A A

Weighted Software Network Modeling,Analysis And Its Application

Posted on:2014-02-10Degree:DoctorType:Dissertation
Country:ChinaCandidate:B Y WangFull Text:PDF
GTID:1228330398955120Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
With the development of computer technology, people rely on software continuous growth. The development of hardware technology makes software can solve the problem more and more complex. It makes the scale of software a rapid growth, and the complexity of software continuous growth correspondly. However, the complexity of software is the most direct barriers to us to obtain high quality software. How to understand the characteristics of the software more clearly is a very important work to design high quality software system.Software is a system, the component units of the software (package, class, component, method) and the dependencies between them make the topological structure of the software system a network. In recent years, the rise of the study in complex networks has attracted the attention of researchers in software enginnering. Some domestic and foreign researchs have confirmed the complex network characteristics of the large-scale software systems from different aspects. It got the attention of many researchers that study the characteristics of the software with systemic view. It is an effective support to us to study software at system level that the software network concept is proposed. Although the introduction of complex network theory into software enginnering has achieved certain results, but the research in this field is still at the primary stage, there is still a large distance between the practice of software engineering and those researchs. The more prominent issues include:how to design a reasonable weighted software network model that the weighted edges can accurately describe the actual characteristics of the software dependencies; what software performance are corresponding to these statistical characteristics of the weighted software network; and the applications of the software network theory on improve the software quality in practice.To use the software network theory in software development practice, we need to do a lot of work. In view of this, this paper has done the following works:First, in the analysis of a large number of dependency properties between the constituent units and properties of the constituent units of the software network, then a weighted software network model does been proposed. This weighted software network model fully considers the details of the software constituent units. To propose this weighted software network model aimed not only study software at the system level, but also be able to more accurately reflect the software component coupling characteristics, including the propagation of defects, the "ripple effect" of the changes, and the ability of fault tolerance of software structure.Then, based on the weighted network model which proposed in this paper, this paper analyzes the impact between the nodes more comprehensively. In the actual process of software development, a great proportion of latent software faults lead to very rare failures in practice, while the vast majority of observed failures are caused by a tiny proportion of the latent faults. Removing large numbers of faults may have a negligible effect on reliability; only when the small proportion of "large" faults are removed will reliability improve significantly. Similarly, a small number of modules contain most of the faults discovered in prerelease testing and that a very small number of modules contain most of the faults discovered in operation. However, in neither this case is explained by the size or complexity of the modules. Based on these analyses, this paper proposes4hypotheses about the impact between the nodes of the software network. These studies help us to understand the essence of these phenomena, and provide reference and guidance to decrease the cost of software testing, improve software reliability and optimize the software structure.Furthermore, based on the research of the impact between the nodes of the software network, this paper studied the relation between software architecture and software reliability. Then, this paper proposed a software reliability evaluation method. Software reliability is defined as the probability of error when the software running in a continuous operation time. It is a very important property of the software quality. Software defects are inevitable, however, the software reliability is relates to the probability of errors when software is running. Thus, to improve the software reliability, the control of software defects propagation and find error tendency modules are very important. Software structure determines the strength of the software defects propagation. Thus, good software structure can be low defects propagation probability and better fault-tolerant. In view of this, this paper analyzes the software network in system level, studies the impact of software structure on software defects propagation, and proposed a method for measuring defects propagation probability of software, in order to evaluate the effect of software structure in the software reliability.
Keywords/Search Tags:software architecture, complex network, weighted softwarenetwork, software defects propagation, software reliability
PDF Full Text Request
Related items