7,979 research outputs found

    A study of the very high order natural user language (with AI capabilities) for the NASA space station common module

    Get PDF
    The requirements are identified for a very high order natural language to be used by crew members on board the Space Station. The hardware facilities, databases, realtime processes, and software support are discussed. The operations and capabilities that will be required in both normal (routine) and abnormal (nonroutine) situations are evaluated. A structure and syntax for an interface (front-end) language to satisfy the above requirements are recommended

    Reducing the Number of Annotations in a Verification-oriented Imperative Language

    Full text link
    Automated software verification is a very active field of research which has made enormous progress both in theoretical and practical aspects. Recently, an important amount of research effort has been put into applying these techniques on top of mainstream programming languages. These languages typically provide powerful features such as reflection, aliasing and polymorphism which are handy for practitioners but, in contrast, make verification a real challenge. In this work we present Pest, a simple experimental, while-style, multiprocedural, imperative programming language which was conceived with verifiability as one of its main goals. This language forces developers to concurrently think about both the statements needed to implement an algorithm and the assertions required to prove its correctness. In order to aid programmers, we propose several techniques to reduce the number and complexity of annotations required to successfully verify their programs. In particular, we show that high-level iteration constructs may alleviate the need for providing complex loop annotations.Comment: 15 pages, 8 figure

    Obtaining Real-World Benchmark Programs from Open-Source Repositories Through Abstract-Semantics Preserving Transformations

    Get PDF
    Benchmark programs are an integral part of program analysis research. Researchers use benchmark programs to evaluate existing techniques and test the feasibility of new approaches. The larger and more realistic the set of benchmarks, the more confident a researcher can be about the correctness and reproducibility of their results. However, obtaining an adequate set of benchmark programs has been a long-standing challenge in the program analysis community. In this thesis, we present the APT tool, a framework we designed and implemented to automate the generation of realistic benchmark programs suitable for program analysis evaluations. Our tool targets intra-procedural analyses that operate on an integer domain, specifically symbolic execution. The framework is composed of three main stages. In the first stage, the tool extracts potential benchmark programs from open-source repositories suitable for symbolic execution. In the second stage, the tool transforms the extracted programs into compilable, stand-alone benchmarks by removing external dependencies and nonlinear expressions. In the third stage, the benchmarks are verified and made available for the user. We have designed our transformation algorithms to remove program dependencies and nonlinear expressions while preserving their semantics-equivalence in the abstraction of symbolic analysis. That is, we want the information the analysis computes on the original program and its transformed version to be equivalent. Our work provides static analysis researchers with concise, compilable benchmark programs that are relevant to symbolic execution, allowing them to focus their efforts on advancing analysis techniques. Furthermore, our work benefits the software engineering community by enabling static analysis researchers to perform benchmarking with a large, realistic set of programs, thus strengthening the empirical evidence of the advancements in static program analysis

    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

    Managed Care’s Crimea: Medical Necessity, Therapeutic Benefit, and the Goals of Administrative Process in Health Insurance

    Get PDF
    En brotyp som Ă€r vanlig bland brokonstruktioner Ă€r plattrambron. Denna brotyp byggs bĂ„de med slak- och spĂ€nnarmering. Det Ă€r dock vanligare att bygga med slakarmering Ă€n spĂ€nnarmering, vilket övervĂ€gs sĂ€rskilt dĂ„ spĂ€nnvidderna Ă€r ungefĂ€r 25- 30 meter eller mer. Inledningsvis har en noggrann litteraturstudie genomförts tillsammans med en intervju av en kunnig brokonstruktör för att sĂ€kerstĂ€lla en interaktion mellan teori och aktuell praxis. Detta arbete har haft ett huvudmĂ„l, vilket Ă€r att ur ett struktur- och kostnadsperspektiv jĂ€mföra och utvĂ€rdera hur behovet av slakarmering varierar i en plattrambros farbana dĂ„ spĂ€nnvidder varieras och betongtvĂ€rsnitt Ă€ndras. Arbetet har utförts med hjĂ€lp av finita elementprogrammet ”Brigade Standard”, vilket erbjuder en tre-dimensionell strukturanalys. Fyra olika tvĂ€rsnitt för spĂ€nnvidder mellan 10-20 meter analyseras. Dimensioner pĂ„ brodelar bestĂ€ms med hjĂ€lp av tumregler samt generella rĂ„d frĂ„n intervjuperson; höjd i fĂ€lt enligt L/20, L/25, L/30 samt L/35, dĂ€r L Ă€r spĂ€nnvidden. Resultatet visar frĂ€mst att för ökade spĂ€nnvidder mot 20 meter ökar lasteffekten pĂ„ grund av egentyngd drastiskt och dĂ„ sĂ€rskilt det tvĂ€rsnitt som Ă€r störst, det vill sĂ€ga L/20. Vidare visas Ă€ven att slankare tvĂ€rsnitt resulterar i aningen högre armeringsmĂ€ngd. Dock pĂ„verkas betongkostnaden i större utstrĂ€ckning av slankare tvĂ€rsnitt och sĂ€rskilt större spĂ€nnvidder. Även om större spĂ€nnvidd och slankare tvĂ€rsnitt föranleder ett större armeringsbehov, fĂ„s en lĂ€gre totalkostnad. Det bör noteras att priset pĂ„ betong och stĂ„l Ă€r starkt beroende av konjunktur och tillgĂ„ng till material. Denna studie kan bli Ă€nnu intressantare dĂ„ priset varierar kraftigt för stĂ„l och föranleder att betongpriset blir mindre dominerande Ă€n vad det Ă€r idag. Huvudprodukten frĂ„n detta arbete Ă€r att med hjĂ€lp av tabeller och nya priser kunna berĂ€kna en preliminĂ€r totalkostnad för plattrambrons farbana för olika spĂ€nnvidder och hur olika tvĂ€rsnittsalternativ pĂ„verkar denna kostnad

    QUEST/Ada (Query Utility Environment for Software Testing of Ada): The development of a prgram analysis environment for Ada, task 1, phase 2

    Get PDF
    The results of research and development efforts are described for Task one, Phase two of a general project entitled The Development of a Program Analysis Environment for Ada. The scope of this task includes the design and development of a prototype system for testing Ada software modules at the unit level. The system is called Query Utility Environment for Software Testing of Ada (QUEST/Ada). The prototype for condition coverage provides a platform that implements expert system interaction with program testing. The expert system can modify data in the instrument source code in order to achieve coverage goals. Given this initial prototype, it is possible to evaluate the rule base in order to develop improved rules for test case generation. The goals of Phase two are the following: (1) to continue to develop and improve the current user interface to support the other goals of this research effort (i.e., those related to improved testing efficiency and increased code reliable); (2) to develop and empirically evaluate a succession of alternative rule bases for the test case generator such that the expert system achieves coverage in a more efficient manner; and (3) to extend the concepts of the current test environment to address the issues of Ada concurrency

    Incremental Analysis of Programs

    Get PDF
    Algorithms used to determine the control and data flow properties of computer programs are generally designed for one-time analysis of an entire new input. Application of such algorithms when the input is only slightly modified results in an inefficient system. In this theses a set of incremental update algorithms are presented for data flow analysis. These algorithms update the solution from a previous analysis to reflect changes in the program. Thus, extensive reanalysis to reflect changes in the program. Thus, extensive reanalysis of programs after each program modification can be avoided. The incremental update algorithms presented for global flow analysis are based on Hecht/Ullman iterative algorithms. Banning\u27s interprocedural data flow analysis algorithms form the basis for the incremental interprocedural algorithms

    Managed Care’s Crimea: Medical Necessity, Therapeutic Benefit, and the Goals of Administrative Process in Health Insurance

    Get PDF
    This Essay explores the concept of medical necessity as it has evolved in the judicial and administrative oversight of managed care. The goals of the Essay are to illustrate the range of plausible rationales for establishing administrative procedures to govern medical necessity disputes, and to demonstrate the difficulty of incorporating into those procedures the most important professional and social responsibilities of managed care in today’s health care system. Part I of the Essay explains the ideological and practical significance of medical necessity as managed care has evolved. Part II examines medical necessity as a legal problem, and questions whether current independent review programs match social needs. Part III offers an alternative perspective on oversight of decisionmaking in managed care that emphasizes therapeutic effect rather than contractual enforcement. Part IV describes improvements in both independent review and overall medical necessity policy that would better serve therapeutic objectives. Among other things, the Essay suggests that independent review procedures should be different for insured individuals who are severely or chronically ill than for those who are only occasional users of health care services
    • 

    corecore