17 research outputs found

    An Approach for Minimizing Spurious Errors in Testing ADA Tasking Programs

    Get PDF
    We propose an approach for detecting deadlocks and race conditions in Ada tasking software. It is based on an extension to Petri net-based techniques, where a concurrent program is modeled as a Petri net and a reachability graph is then derived and analyzed for desired information. In this approach, Predicate-Action subnets representing Ada programming constructs are described, where predicates and actions are attached to transitions. Predicates are those found in decision statements. Actions involve updating the status of the variables that affect the tasking behavior of the program and updating the Read and Write sets of shared variables. The shared variables are those occurring in sections of the program, called concurrency zones, related to the transitions. Modeling of a tasking program is accomplished by using the basic subnets as building blocks in translating only tasking-related statements and connecting them to produce the total Predicate-Action net model augmented with sets of shared variables. An augmented reachability graph is then derived by executing the net model. Deadlocks and race conditions are detected by searching the nodes of this graph. The main advantage offered by this approach is that the Predicate-Action extension of the net leads to pruning infeasible paths in the reachability graph and, thus, reducing the spurious error reports encountered in previous approaches. Also, this approach enables a partial handling of loops in a practical way. Implementation issues are also discussed in the paper

    Statistical Modelling of Computer Systems: A Review

    Get PDF
    This paper briefly reviews the data dependent statistical methods useful for computer systems modelling. The techniques are classified according to their applicability toward comparison, tuning and design of computer systems. A review of publications dealing with statistical modeling of computer systems is presented and a comprehensive bibliography is included to provide a useful source of reference toward the present and potential applications of statistical methods for computer system modelling

    Statistical Modelling of Computer Systems: A Survey

    Get PDF
    This paper briefly surveys the data dependent statistical methods useful for computer systems modelling. The techniques are classified according to their applicability toward comparison, tuning and design of computer systems. A review of papers dealing with statistical modelling of computer systems is presented and a comprehensive bibliography is included to provide a useful source of reference toward the present and potential applications of statistical methods for computer system modelling

    STATISTICAL MODELLING OF COMPUTER SYSTEMS: A SURVEY

    Get PDF
    This paper briefly surveys the data dependent statistical methods useful for computer systems modelling. The techniques are classified according to their applicability toward comparison, tuning and design of computer systems. A review of papers dealing with statistical modelling of computer systems is presented and a comprehensive bibliography is included to provide a useful source of reference toward the present and potential applications of statistical methods for computer system modelling

    Effect of formal specifications on program complexity and reliability: An experimental study

    Get PDF
    The results are presented of an experimental study undertaken to assess the improvement in program quality by using formal specifications. Specifications in the Z notation were developed for a simple but realistic antimissile system. These specifications were then used to develop 2 versions in C by 2 programmers. Another set of 3 versions in Ada were independently developed from informal specifications in English. A comparison of the reliability and complexity of the resulting programs suggests the advantages of using formal specifications in terms of number of errors detected and fault avoidance

    A Petri Net-Based Tool for Detecting Deadlocks and Race Conditions in Concurrent Programs

    Get PDF
    A static analysis tool for detecting deadlocks and potential race conditions on shared variables in concurrent programs is presented. It is based on Petri Net modeling and reachability analysis, where a concurrent program is modeled as an augmented Petri net and a reachability graph is then derived and analyzed for desired information. Place-Transition subnets representing programming language constructs are described. Transitions in these subnets are augmented with sets of shared variables that occur in sections of the program, called concurrency zones, related to the transitions. The tool consists of four modules. The modeling module employs the augmented subnets as building blocks in translating only the synchronization-related statements of a concurrent program and connects the subnets to yield the total model. The second module produces an augmented reachability graph for the augmented Petri net. The analyzer module searches the augmented reachability graph for deadlocks, race conditions and other useful analysis information requested by the user about the underlying program. The user interface is provided by an X-window based module. Ada is used as a representative of concurrent languages that adopt the rendezvous model of interprocess communication and synchronization. The validation of the tool, its applicability and limitations are also discussed

    A Colored Petri Net-Based Approach for Automated Deadlock Detection in Parallel Programs

    Get PDF
    A static analysis approach is proposed for automated detection of deadlocks in a common class of parallel programs, referred to as Single Code Multiple Data (SCMD) programs. It is based on colored Petri net (CP-net) modeling and reachability analysis, where colors correspond to parallel processes. An SCMD program is first translated into a CP-net and a reachability tree is then derived and analyzed for deadlock information. CP-subnets representing basic programming language constructs are described. These subnets are employed as building blocks by an algorithm that translates synchronization-related statements of a process in an SCMD program and connects the resulting subnets. The connection technique makes use of the characteristics of SCMD programs to produce a unified and folded CP-net model. These characteristics are also used to introduce a notion, referred to as poset-covering, that leads to a reduced reachability tree for the Cp-net. The usual algorithm for generating and analyzing reachability trees of CP-nets is modified by including poset-covering and excluding notions that are irrelevant to our application. The compactness of the CP-net model and the reachability tree makes the proposed approach appealing for practical implementation

    Software reliability modeling (tutorial)

    No full text

    Rejoinder

    No full text
    corecore