17,124 research outputs found

    Dynamic IFC Theorems for Free!

    Full text link
    We show that noninterference and transparency, the key soundness theorems for dynamic IFC libraries, can be obtained "for free", as direct consequences of the more general parametricity theorem of type abstraction. This allows us to give very short soundness proofs for dynamic IFC libraries such as faceted values and LIO. Our proofs stay short even when fully mechanized for Agda implementations of the libraries in terms of type abstraction.Comment: CSF 2021 final versio

    Calculating correct compilers

    Get PDF
    In this article we present a new approach to the problem of calculating compilers. In particular, we develop a simple but general technique that allows us to derive correct compilers from high- level semantics by systematic calculation, with all details of the implementation of the compilers falling naturally out of the calculation process. Our approach is based upon the use of standard equational reasoning techniques, and has been applied to calculate compilers for a wide range of language features and their combination, including arithmetic expressions, exceptions, state, various forms of lambda calculi, bounded and unbounded loops, non-determinism, and interrupts. All the calculations in the article have been formalised using the Coq proof assistant, which serves as a convenient interactive tool for developing and verifying the calculations

    National Institute of Mental Health Roundtable Discussion: Promissory Notes and Prevailing Norms in Social and Behavioral Sciences Research

    Get PDF
    Most workshops convened by the National Institute's of Health are devoted to the puzzle-solving activities of normal science, where the puzzles themselves and the strategies available for solving them are determined largely in advance by the shared paradigmatic assumptions, frameworks, and priorities of the scientific community's research paradigm. They are designed to facilitate what Thomas Kuhn referred to as elucidating topological detail within a map whose main outlines are available in advance. And apparently for good reason. Historical studies by Kuhn and others reveal that science moves fastest and penetrates most deeply when its practitioners work within well-defined and deeply ingrained traditions and employ the concepts, theories, methods, and tools of a shared paradigm. No paradigm is perfect and none is capable of identifying, let alone solving, all of the problems relevant to a given domain of inquiry. Thus, the essential day-to-day business of normal science is not to question the limits or adequacy of a given paradigm, but rather to exploit the presumed virtues for which it was adopted. As Kuhn cautioned in his discussion of paradigms, re-tooling, in science as in manufacture, as an extravagance to be reserved for the occasion that demands it. Well, as the marketing people say --- this is not your father's Oldsmobile. We are breaking with tradition today by stepping outside the map to initiate and pursue a long-overdue dialogue about paradigm reform and scientific retooling. Our warrant for prosecuting this agenda is a Kuhnian occasion that demands it--- is a protracted paradigm crisis, the neglect of which has hurt us terribly and the resolution of which will determine the viability and fate of the social and behavioral sciences in the 21st century. Since the details of the crisis are well know within and outside our ranks, a brief sketch of its main outlines will suffice as a framework for our dialogue today. They include, (a) widespread dissatisfaction with the meager theoretical progress and practical yield of more than a century of social and behavioral sciences research in many substantive domains, (b) long-neglected yet widely recognized deficiencies in the epistemological assumptions, discovery practices and justification standards of the dominant paradigm on which the social and behavioral sciences have relied --- and rely--- to conceptualize, interpret, and guide their empirical research, (c) a broadly based consensus among leading scholars and scientists about the need for fundamental paradigm reforms, and (d) institutional incentive structures that not only encourage and reinforce the status quo but discourage constructive reform efforts. Our objective for the next eight hours is to formulate strategies and recommendations for leveraging the resources and influence of the National Institute of Mental Health to foster a climate of constructive reforms where they are needed by freeing investigators in from the oppressive constraints of existing paradigms and facilitating, encouraging, and funding their retooling their effort

    A Simple and Practical Approach to Unit Testing: The JML and JUnit Way

    Get PDF
    Writing unit test code is labor-intensive, hence it is often not done as an integral part of programming. However, unit testing is a practical approach to increasing the correctness and quality of software; for example, the Extreme Programming approach relies on frequent unit testing. In this paper we present a new approach that makes writing unit tests easier. It uses a formal specification language\u27s runtime assertion checker to decide whether methods are working correctly, thus automating the writing of unit test oracles. These oracles can be easily combined with hand-written test data. Instead of writing testing code, the programmer writes formal specifications (e.g., pre- and postconditions). This makes the programmer\u27s task easier, because specifications are more concise and abstract than the equivalent test code, and hence more readable and maintainable. Furthermore, by using specifications in testing, specification errors are quickly discovered, so the specifications are more likely to provide useful documentation and inputs to other tools. We have implemented this idea using the Java Modeling Language (JML) and the JUnit testing framework, but the approach could be easily implemented with other combinations of formal specification languages and unit test tools

    A Simple and Practical Approach to Unit Testing: The JML and JUnit Way

    Get PDF
    Writing unit test code is labor-intensive, hence it is often not done as an integral part of programming. However, unit testing is a practical approach to increasing the correctness and quality of software; for example, the Extreme Programming approach relies on frequent unit testing. In this paper we present a new approach that makes writing unit tests easier. It uses a formal specification language\u27s runtime assertion checker to decide whether methods are working correctly, thus automating the writing of unit test oracles. These oracles can be easily combined with hand-written test data. Instead of writing testing code, the programmer writes formal specifications (e.g., pre- and postconditions). This makes the programmer\u27s task easier, because specifications are more concise and abstract than the equivalent test code, and hence more readable and maintainable. Furthermore, by using specifications in testing, specification errors are quickly discovered, so the specifications are more likely to provide useful documentation and inputs to other tools. We have implemented this idea using the Java Modeling Language (JML) and the JUnit testing framework, but the approach could be easily implemented with other combinations of formal specification languages and unit test tools

    On the Problem of Dependent People: hyperbolic discounting in Atlantic Canadian island jurisdictions

    Get PDF
    Prince Edward Island's Economics, Statistics and Federal Fiscal Relations Division's 33rd Annual Statistical Review reports the total value of 2006 fish landings was CAD $166.6 MM. This paper discloses a preliminary finding that the actual total value of fish landings for 2006 was approximately CAD 416.5 MM. Furthermore, this discourse submits that this entrenched systemic error has been consistently generated for all 33 years that the Annual Statistical Review has been published. Moreover, this systemic error creates a ripple-effect and promotes bias through all relative natural resource valuations. This significant conjecture is presented within an institutional context which serves as the foundation for this error generation, including other errors associated with The Problem of Induction and The Tragedy of the Commons. Within this broad context, this paper focuses upon deficient resource valuation methods, especially as they relate to dependency and valuation errors. Our analysis contrasts the failure of fishery management amongst dependent Canadian islanders,and the relative success of fishery management amongst independent Icelandic islanders. The possibilities that independent people enjoy higher levels of rationality, efficiency, happiness, economic sustainability, Darwinian fitness, resource holding power, and, are thus, ceteris paribus, less likely to commit errors associated with The Problem of Induction are taken into consideration. Likewise, consideration is given to the notion that dependent people are more likely to exhibit irrational behaviour, develop deeper dependencies, and to contribute to a wide array of maladaptive behaviours, such as those which exacerbate The Tragedy of the Commons.tragedy of the commons; insularity; problem of induction; methodology; sub-national island jurisdiction; prince edward island; cancer; bravo; potato production; Chlorothalonil Carcinogenicity; prince edward island development plan; confederation bridge; prince edward island tourism
    • 

    corecore