34 research outputs found
Noncooperatively Optimized Tolerance: Decentralized Strategic Optimization in Complex Systems
We introduce noncooperatively optimized tolerance (NOT), a generalization of
highly optimized tolerance (HOT) that involves strategic (game theoretic)
interactions between parties in a complex system. We illustrate our model in
the forest fire (percolation) framework. As the number of players increases,
our model retains features of HOT, such as robustness, high yield combined with
high density, and self-dissimilar landscapes, but also develops features of
self-organized criticality (SOC) when the number of players is large enough.
For example, the forest landscape becomes increasingly homogeneous and
protection from adverse events (lightning strikes) becomes less closely
correlated with the spatial distribution of these events. While HOT is a
special case of our model, the resemblance to SOC is only partial; for example,
the distribution of cascades, while becoming increasingly heavy-tailed as the
number of players increases, also deviates more significantly from a power law
in this regime. Surprisingly, the system retains considerable robustness even
as it becomes fractured, due in part to emergent cooperation between
neighboring players. At the same time, increasing homogeneity promotes
resilience against changes in the lightning distribution, giving rise to
intermediate regimes where the system is robust to a particular distribution of
adverse events, yet not very fragile to changes
Theorem-Proving Analysis of Digital Control Logic Interacting with Continuous Dynamics
AbstractThis work outlines an equation-based formulation of a digital control program and transducer interacting with a continuous physical process, and an approach using the Coq theorem prover for verifying the performance of the combined hybrid system. Considering thermal dynamics with linear dissipation for simplicity, we focus on a generalizable, physically consistent description of the interaction of the real-valued temperature and the digital program acting as a thermostat. Of interest in this work is the discovery and formal proof of bounds on the temperature, the degree of variation, and other performance characteristics. Our approach explicitly addresses the need to mathematically represent the decision problem inherent in an analog-to-digital converter, which for rare values can take an arbitrarily long time to produce a digital answer (the so-called Buridan's Principle); this constraint ineluctably manifests itself in the verification of thermostat performance. Furthermore, the temporal causality constraints in the thermal physics must be made explicit to obtain a consistent model for analysis. We discuss the significance of these findings toward the verification of digital control for more complex physical variables and fields
An empirical study of fault localization for end-user programmers
End users develop more software than any other group of programmers, using software authoring devices such as e-mail filtering editors, by-demonstration macro builders, and spreadsheet environments. Despite this, there has been little research on finding ways to help these programmers with the dependability of their software. We have been addressing this problem in several ways, one of which includes supporting end-user debugging activities through fault localization techniques. This paper presents the results of an empirical study conducted in an end-user programming environment to examine the impact of two separate factors in fault localization techniques that affect technique effectiveness. Our results shed new insights into fault localization techniques for end-user programmers and the factors that affect them, with significant implications for the evaluation of those techniques
DAKOTA JAGUAR 3.0 user's manual.
JAGUAR (JAva GUi for Applied Research) is a Java software tool providing an advanced text editor and graphical user interface (GUI) to manipulate DAKOTA (Design Analysis Kit for Optimization and Terascale Applications) input specifications. This document focuses on the features necessary to use JAGUAR
Leveraging Formal Methods and Fuzzing to Verify Security and Reliability Properties of Large-Scale High-Consequence Systems
Formal methods describe a class of system analysis techniques that seek to prove specific propertiesabout analyzed designs, or locate flaws compromising those properties. As an analysis capability,these techniques are the subject of increased interest fromboth internal and external customersof Sandia National Laboratories. Given this lab's other areas of expertise, Sandia is uniquelypositioned to advance the state-of-the-art with respect toseveral research and application areaswithin formal methods. This research project was a one-yeareffort funded by Sandia's CyberSecurity S&T Investment Area in its Laboratory Directed Research&Development program toinvestigate the opportunities for formal methods to impactSandia's present mission areas, morefully understand the needs of the research community in the area of formal methods and whereSandia can contribute, and clarify from those potential research paths those that would best advancethe mission-area interests of Sandia. The accomplishmentsfrom this project reinforce the utilityof formal methods in Sandia, particularly in areas relevantto Cyber Security, and set the stagefor continued Sandia investments to ensure this capabilityis utilized and advanced within thislaboratory to serve the national interest.
Recommended from our members
Interactive fault localization techniques to empower the debugging efforts of end-user programmers
End users develop more software than any other group of programmers, using software authoring devices such as e-mail filtering editors, by-demonstration macro builders, and spreadsheet environments. Despite this, there has been only a little research on finding ways to help these programmers with the dependability of the software they create. We have been working to address this problem in several ways, one of which includes supporting end-user debugging activities through interactive fault localization techniques. This thesis investigates these fault localization techniques in the realm of end-user programming. We investigate a technique previously described in the research literature, and two new techniques that are introduced in this thesis. This thesis also presents the results of two empirical studies to examine whether fault localization techniques are effective in end-user testing and debugging tasks. The first study compares how well the three techniques isolate the faults in two end-user programs. The second study examines the impact of two orthogonal factors on the effectiveness of fault localization techniques. Our results reveal several insights into the contributions such techniques can make to the end-user debugging process, and highlight key issues of interest to researchers and practitioners who may design and evaluate future fault localization techniques
Recommended from our members
Interactive, visual fault localization support for end-user programmers
End-user programmers are writing an unprecedented number of programs, primarily using languages and environments that incorporate a number of interactive and visual programming techniques. To help these users debug these programs, we have developed an entirely visual, interactive approach to fault localization. This paper presents the approach. We also present the results of a think-aloud study that examined the interactive, human-centric issues that arise in end-user debugging using a fault localization strategy. Our results provide insights into the contributions such strategies can make to the end-user debugging process.Keywords: visual fault localization, debugging, end-user software engineering, slicing, form-based visual programs, testing, end-user programmin
Experimental program analysis: A new paradigm for program analysis
Program analysis techniques are used by software engineers to deduce and infer targeted characteristics of software systems for tasks such as testing, debugging, maintenance, and program comprehension. Recently, some program analysis techniques have been designed to leverage characteristics of traditional experimentation in order to analyze software systems. We believe that the use of experimentation for program analysis constitutes a new program analysis paradigm: experimental program analysis. This research seeks to accomplish four goals: to precisely define experimental program analysis, to provide a means for classifying experimental program analysis techniques, to identify existing experimental program analysis techniques in the research literature, and to enhance the use of experimental program analysis by improving existing, and by creating new, experimental program analysis techniques