347 research outputs found

    Using parametric set constraints for locating errors in CLP programs

    Full text link
    This paper introduces a framework of parametric descriptive directional types for constraint logic programming (CLP). It proposes a method for locating type errors in CLP programs and presents a prototype debugging tool. The main technique used is checking correctness of programs w.r.t. type specifications. The approach is based on a generalization of known methods for proving correctness of logic programs to the case of parametric specifications. Set-constraint techniques are used for formulating and checking verification conditions for (parametric) polymorphic type specifications. The specifications are expressed in a parametric extension of the formalism of term grammars. The soundness of the method is proved and the prototype debugging tool supporting the proposed approach is illustrated on examples. The paper is a substantial extension of the previous work by the same authors concerning monomorphic directional types.Comment: 64 pages, To appear in Theory and Practice of Logic Programmin

    An assertion language for constraint logic programs

    Full text link
    In an advanced program development environment, such as that discussed in the introduction of this book, several tools may coexist which handle both the program and information on the program in different ways. Also, these tools may interact among themselves and with the user. Thus, the different tools and the user need some way to communicate. It is our design principie that such communication be performed in terms of assertions. Assertions are syntactic objects which allow expressing properties of programs. Several assertion languages have been used in the past in different contexts, mainly related to program debugging. In this chapter we propose a general language of assertions which is used in different tools for validation and debugging of constraint logic programs in the context of the DiSCiPl project. The assertion language proposed is parametric w.r.t. the particular constraint domain and properties of interest being used in each different tool. The language proposed is quite general in that it poses few restrictions on the kind of properties which may be expressed. We believe the assertion language we propose is of practical relevance and appropriate for the different uses required in the tools considered

    Combining Type Checking and Set Constraint Solving to Improve Automated Software Verification

    Full text link
    In this paper we show how prescritive type checking and constraint solving can be combined to increase automation during software verification. We do so by defining a type system and implementing a typechecker for {log} (read `setlog'), a Constraint Logic Programming (CLP) language and satisfiability solver based on set theory. Hence, we proceed as follows: a) a type system for {log} is defined; b) the constraint solver is proved to be safe w.r.t. the type system; c) the implementation of a concrete typechecker is presented; d) the integration of type checking and set constraint solving to increase automation during software verification is discussed; and f) two industrial-strength case studies are presented where this combination is used with very good results

    A Practical Type Analysis for Verification of Modular Prolog Programs

    Get PDF
    Regular types are a powerful tool for computing very precise descriptive types for logic programs. However, in the context of real life, modular Prolog programs, the accurate results obtained by regular types often come at the price of efficiency. In this paper we propose a combination of techniques aimed at improving analysis efficiency in this context. As a first technique we allow optionally reducing the accuracy of inferred types by using only the types defined by the user or present in the libraries. We claim that, for the purpose of verifying type signatures given in the form of assertions the precision obtained using this approach is sufficient, and show that analysis times can be reduced significantly. Our second technique is aimed at dealing with situations where we would like to limit the amount of reanalysis performed, especially for library modules. Borrowing some ideas from polymorphic type systems, we show how to solve the problem by admitting parameters in type specifications. This allows us to compose new call patterns with some pre computed analysis info without losing any information. We argue that together these two techniques contribute to the practical and scalable analysis and verification of types in Prolog programs

    Geography of Health Care Access: Measurement, Analyses and Integration

    Get PDF
    This dissertation addresses the geography of healthcare access and disparity issues in the United States using geospatial methods. Disparities in access to quality healthcare services are of great concern in the field of both public health and geography. Access is a key element within the healthcare delivery system, influenced by both spatial factors and non-spatial factors. Focusing on the spatial dimensions of access, an innovative contribution of this dissertation is the integration of spatial modeling, geo-statistics and location problems in a Geographic Information System (GIS) environment to investigate healthcare access. Improving health access begins with developing reliable methods to measure accessibility. In health geography and social sciences literature, the term spatial accessibility is used to refer to the fusion of both availability and accessibility of health demand and supply. Thus, a major focus of this dissertation is to present an alternative set of healthcare accessibility measures – a network-based health accessibility index method (NHAIM) to measure accessibility and identify underserved areas. Another focus of this dissertation is to understand neighborhood factors that contribute to healthcare access – both potential and revealed access through statistical analysis. Studies have shown that social and physical environments affect individual’s health status, yet less has been done on whether neighborhood factor influence health access. A final focus of this dissertation is to propose a planning method - a Network-based Covering Location Problem (Net-CLP) to locate healthcare facilities so as to maximize service coverage while reducing spatial disparity between healthcare supply and demand in a sustainable manner. As mentioned above, spatial accessibility relies on the geographical interactions between healthcare facilities and population in need, therefore the facility location is essential in ensuring access. In summary, this dissertation aims to achieve following three goals: 1) develop a reliable method to measure health care accessibility and capture underserved areas; 2) investigate neighborhood factors and health care access; 3) propose a feasible planning method to locate health care facilities and improve overall access

    Automatic binding-related error diagnosis in logic programs

    Get PDF
    This paper proposes a diagnosis algorithm for locating a certain kind of errors in logic programs: variable binding errors that result in abstract symptoms during compile-time checking of assertions based on abstract interpretation. The diagnoser analyzes the graph generated by the abstract interpreter, which is a provably safe approximation of the program semantics. The proposed algorithm traverses this graph to find the point where the actual error originates (a reason of the symptom), leading to the point the error has been reported (the symptom). The procedure is fully automatic, not requiring any interaction with the user. A prototype diagnoser has been implemented and preliminary results are encouraging

    Cost and benefits design optimization model for fault tolerant flight control systems

    Get PDF
    Requirements and specifications for a method of optimizing the design of fault-tolerant flight control systems are provided. Algorithms that could be used for developing new and modifying existing computer programs are also provided, with recommendations for follow-on work
    corecore