TL;DR: A static analysis algorithm is presented here that addresses the following problems: how processes are synchronized, what determines when programs are run in parallel, and how errors are detected in the synchronization structure.
Abstract: Developing and verifying concurrent programs presents several problems. A static analysis algorithm is presented here that addresses the following problems: how processes are synchronized, what determines when programs are run in parallel, and how errors are detected in the synchronization structure. Though the research focuses on Ada, the results can be applied to other concurrent programming languages such as CSP.
TL;DR: In this paper, the pre-and post-buckling/collapse response of general structures is calculated using static analysis and eigensolutions for linearized buckling response are discussed.
TL;DR: In this article, a mathematical formulation of double-curved arch dam design is described, where design variables, objective function, and constraint functions are defined, and the geometrical form of the arch dam and part of its load-carrying foundation are described by three-dimensional hyperelements.
Abstract: Development and application of shape optimization of double-curved arch dams are presented. A mathematical formulation of arch dam design is described, where design variables, objective function, and constraint functions are defined. The geometrical form of the arch dam and part of its load-carrying foundation are described by three-dimensional hyperelements. Design variables are identified as geometrical parameters of these hyperelements. For static analysis of the dam-foundation system, the finite element method is employed with eight node solid elements and an incompatible displacement function. Elements are automatically generated within the hyperelements in each design step. Four different load cases are considered to account for important design specifications. A complete static sensitivity analysis is performed and used in each design iteration. Partial derivatives of element stresses with respect to all design variables are computed within the finite element context. The optimization prob...
TL;DR: MAP, a tool for understanding software, combines static analysis, some dynamic features, and an interactive presentation to aid programmers in debugging.
Abstract: This paper describes how MAP, a tool for understanding software, combines static analysis, some dynamic features, and an interactive presentation to aid programmers in debugging. Static analysis of the sort produced in optimizing compilers could provide programmers with useful information that they cannot get from dynamic debuggers. The challenge for designers of static analysis tools is to present the information in a useful form.
TL;DR: A verification and testing environment that includes static analysis, symbolic execution, and dynamic analysis capabilities is presented, engineered to support the production of flight control software written in HAL/S.
Abstract: A verification and testing environment that includes static analysis, symbolic execution, and dynamic analysis capabilities is presented. Tool integration and co-operation are promoted through use of an intermediate program representation and a system data manager. A substantial user interface aids application of the tools. Their use is guided by a verification and testing methodology on which the system's design is based. The environment has been engineered to support the production of flight control software written in HAL/S. The environment itself is written in Pascal and is designed to be portable. Several development experiences are described. The environment demonstrates that a strong, unified verification and testing environment can be built; it serves as a basis for future investigations.
TL;DR: In this article, the vector network model has been used for the analysis of complex mechanisms, both in terms of the number of linkages as well as the types of joints that are encountered.
TL;DR: In this article, a computationally economical triangular plate bending element, designated as the TRP2 element, while simpler than existing high-order accuracy elements, yields results that are sufficiently accurate for engineering analysis.
TL;DR: MAP as mentioned in this paper is a tool for understanding software that combines static analysis, some dynamic features, and an interactive presentation to aid programmers in debugging, and it can be used to perform static analysis of software.
Abstract: This paper describes how MAP, a tool for understanding software, combines static analysis, some dynamic features, and an interactive presentation to aid programmers in debugging. Static analysis of...
TL;DR: Possible influences of debugging in PEs and in SE2s are demonstrated by demonstrating possible influences on future software development by personal computers, knowledge engineering, and predicative programming.
Abstract: Programming environments (PEs) support a single programmer developing small- to medium-scale programs, whereas software development support systems and software engineering environments (SE2s) support whole project teams, developing Large-scale software. There is no reason to believe that one and only one support system may exist. The usefulness of one or the other depends on the particular situation of software development.Debugging is distinguished from testing and defined not only for removing bugs from programs (dynamic debugging) but also from documents describing the programs (static debugging).The key problem of debugging is understanding the software. Debugging may be supported by static analysis tools and by interactive debugging systems which help both to understand the software better and to estimate the impacts of an intended change. Graphical representations are also very useful for better understanding system structures and for recognising faults and clashes faster. Tools may furthermore be used to report errors and corrections, and to maintain these reports.In the context of PEs and SE2s the tools supporting debugging are connected. Tools can be based on a uniform internal representation, allowing a uniform user interface. Tasks and corresponding tools can be tailored to each other, avoiding duplication of work. One task knows what the others have already done. One knows if certain types of errors have been prevented or removed, i.e. if static analysis tools prevent data flow errors during runtime. Tools and results of other tasks may be used, i.e. cross reference lists and test path reports. Similarities and differences of debugging in PEs and in SE2s are discussed by some example systems. The discussion is concluded by demonstrating possible influences on future software development by personal computers, knowledge engineering, and predicative programming.
TL;DR: A static analysis is proposed as a method of reducing complexity of the correctness proofs of CSP programs by considering all possible sequences of communications which can arise in computations during which the boolean guards are not interpreted.
Abstract: A static analysis is proposed as a method of reducing complexity of the correctness proofs of CSP programs. This analysis is based on considering all possible sequences of communications which can arise in computations during which the boolean guards are not interpreted. Several examples are provided which clarify its various aspects.