842 research outputs found

    Relatively Complete Counterexamples for Higher-Order Programs

    Full text link
    In this paper, we study the problem of generating inputs to a higher-order program causing it to error. We first study the problem in the setting of PCF, a typed, core functional language and contribute the first relatively complete method for constructing counterexamples for PCF programs. The method is relatively complete in the sense of Hoare logic; completeness is reduced to the completeness of a first-order solver over the base types of PCF. In practice, this means an SMT solver can be used for the effective, automated generation of higher-order counterexamples for a large class of programs. We achieve this result by employing a novel form of symbolic execution for higher-order programs. The remarkable aspect of this symbolic execution is that even though symbolic higher-order inputs and values are considered, the path condition remains a first-order formula. Our handling of symbolic function application enables the reconstruction of higher-order counterexamples from this first-order formula. After establishing our main theoretical results, we sketch how to apply the approach to untyped, higher-order, stateful languages with first-class contracts and show how counterexample generation can be used to detect contract violations in this setting. To validate our approach, we implement a tool generating counterexamples for erroneous modules written in Racket.Comment: In Proceedings of the 36th annual ACM SIGPLAN conference on Programming Language Design and Implementation, Portland, Oregon, June 201

    A microfabricated sensor for thin dielectric layers

    Full text link
    We describe a sensor for the measurement of thin dielectric layers capable of operation in a variety of environments. The sensor is obtained by microfabricating a capacitor with interleaved aluminum fingers, exposed to the dielectric to be measured. In particular, the device can measure thin layers of solid frozen from a liquid or gaseous medium. Sensitivity to single atomic layers is achievable in many configurations and, by utilizing fast, high sensitivity capacitance read out in a feedback system onto environmental parameters, coatings of few layers can be dynamically maintained. We discuss the design, read out and calibration of several versions of the device optimized in different ways. We specifically dwell on the case in which atomically thin solid xenon layers are grown and stabilized, in cryogenic conditions, from a liquid xenon bath

    Obesity: A Biobehavioral Point of View

    Full text link
    Excerpt: If you ask an overweight person, “Why are you fat?’, you will, almost invariably, get the answer, “Because 1 eat too much.” You will get this answer in spite of the fact that of thirteen studies, six find no significant differences in the caloric intake of obese versus nonobese subjects, five report that the obese eat significantly less than the nonobese, and only two report that they eat significantly more
    • …
    corecore