Font Size: a A A

Research On UML-Based Statistical Software Testing

Posted on:2006-09-17Degree:DoctorType:Dissertation
Country:ChinaCandidate:J YanFull Text:PDF
GTID:1118360155472161Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
While software are widely applied in system control such as aeronautics & aerospace control, weapon system control, industrial process-control and traffic control, the failures of the software applied in these fields are often catastrophic. Thus, it is necessary to validate the reliability of those software system, which are often called safety-critical software, to a high degree of confidence. The most general method to assess software reliability is to test the software according to the usage models. The method is called statistical testing. Statistical testing is suggested by the Cleanroom Software Engineering and the Software Reliability Engineering.Unified Modeling Language (UML) is a graphical modeling language with powerful expression capability and intuitionistic meaning. UML provides various diagrams to depict system characteristics and complex environment from different viewpoints and different application layers. UML-based software development process and modeling environments have been widely accepted by the industrial community, including the fields such as spaceflight, national defense, and automobile. The products of these fields are often safety-critical.While UML has been the de-facto standard object-oriented software modeling language, the UML artifacts acquired in the early stages of the software development lifecycle provide a common notation ground to represent and validate software system. Thus, it is important to combine UML-based software development with statistical testing. UML-based statistical testing can not only support test cases derivation but also test planning in the early stages of software development.The dissertation first presents a method that derives the software Markov chain usage models from reasonably constrained UML artifacts. The method utilizes use case diagrams, sequence diagrams, the execution probability of each sequence diagram in its associated use case and use case execution sequence relations. The execution probability of each sequence diagram in its associated use case and the use case execution sequence relations are called statistical testing constraints. By projecting the messages in sequence diagrams onto the objects under testing, the method elicits messages and their occurrence probabilities for generating the Markov chain usage model of each use case for the objects under testing. Then the usage models of use cases are integrated into the software usage model. The integration procedure will utilize the use case execution sequence relations.Then the dissertation concerns automatic generation of Markov chain usage models from real-time software UML models. Firstly, the dissertation defines the constrainedreal-time software UML artifacts, which include use case diagrams, sequence diagrams with timing constraints and the statistical testing constraints. Secondly, the dissertation presents a method that derives the software Markov chain usage model from the constrained UML artifacts. Timing constraints in sequence diagrams are considered during usage model generation. The usage models can be used to generate real-time software statistical test cases and facilitate real-time software statistical testing.The consistency of the UML artifacts that are constrained with statistical testing constraints and timing constraints is defined in the dissertation. Based on the definition, the dissertation proved that while the UML artifacts are consistent, the usage models derived with the algorithms presented in the dissertation depict the usage of the software that are modeled with the UML artifacts.A safety-critical software system often includes some critical functions, such as the emergency shutdown functions in nuclear power plants. These functions are often inadequately tested in statistical testing because of their low execution probabilities. However, any failure of these critical functions can result in catastrophic loss of life and property. The dissertation shows that this disadvantage of safety-critical software statistical testing can be solved based on importance sampling technique. Thus, testers do get unbiased software reliability estimates, and at the same time, testers can effectively reduce the number of test cases required while both the software and critical functions are tested adequately. Thus, the statistical testing can be effectively accelerated and the test cost can be reduced.Based on the Markov chain usage models derived from the UML artifacts, test cases derivation is discussed. Real-time software test cases derivation is given special consideration. The dissertation presents a UML-based Markov chain usage model derivation tool, RT-UMGen. RT-UMGen supports to edit the statistical testing constraints in UML, check the artifacts' consistency and derive Markov chain usage models from the constrained UML artifacts. Thus, the tool facilitates UML-based statistical software testing.
Keywords/Search Tags:UML, Software Reliability, Statistical Testing, Markov Chain, Usage Model, Real-time Software, Statistical Testing Acceleration
PDF Full Text Request
Related items