Font Size: a A A

Concurrent Object-oriented Program Slicing And Its Application In Program Verification

Posted on:2009-01-04Degree:MasterType:Thesis
Country:ChinaCandidate:Z X HeFull Text:PDF
GTID:2178360245963645Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Program slicing is a program analysis technique which extracts the elements of a program related to a particular computation. A program slice consists of the parts or components of a program that (potentially) affect the values computed at some points of interest, referred to as a slicing criterion. Slicing has been widely used in testing and debugging, program comprehension and software maintenance, etc. Now, with its development, the area is extended to the re-engineering, program verification, etc.Object-oriented program style is becoming the norm. Slicing object-oriented programs presents new challenges which are not encounter in traditional program slicing. To slice an object-oriented program, features such as encapsulation, inheritance, polymorphism and concurrency needed to be considered carefully. This paper presents a new method to slicing concurrent Java programs. We introduce concurrent object-oriented system dependence graph (COSDG) as the intermediate program representation. Our method applies variable cache table (VCT) to analyze the dependencies in programs and then to construct COSDG of the given program, but does not use any trace file to store the execution history. Based on this model, we use the two-pass slicing algorithm to compute accurate dynamic slices of a concurrent Java program.Program verification is an important method in assuring the correctness and reliability of computer hardware and software. One of the major problems is space-explosion in the application of this method to concurrent software systems: state space grows exponentially in the number of concurrent components. In fact, it is often the case that some of the statements of the program are irrelevant to the verified property and can be deleted. In this paper, we present an approach for slicing concurrent object-oriented programs to reduce the state space in the process of program verification. The satisfaction of the verified property is guaranteed for both programs before and after slicing, and the number of states in the state transition graph is decreased.With the development of Internet and WWW techniques, Web application is widely used in many e-business areas. At the same time, the fact that larger and complex Web application programs become increasingly a mainstream, is challenging the process of development. We propose a method for slicing Web application program to analyze and understand the behaviors of the program.Based on all these works, we give some typical examples to illustrate how to apply the method into practice through Java concurrent programs.
Keywords/Search Tags:Program slicing, Concurrent object-oriented program, Program verification, Web application
PDF Full Text Request
Related items