48,557 research outputs found

    Meta-F*: Proof Automation with SMT, Tactics, and Metaprograms

    Full text link
    We introduce Meta-F*, a tactics and metaprogramming framework for the F* program verifier. The main novelty of Meta-F* is allowing the use of tactics and metaprogramming to discharge assertions not solvable by SMT, or to just simplify them into well-behaved SMT fragments. Plus, Meta-F* can be used to generate verified code automatically. Meta-F* is implemented as an F* effect, which, given the powerful effect system of F*, heavily increases code reuse and even enables the lightweight verification of metaprograms. Metaprograms can be either interpreted, or compiled to efficient native code that can be dynamically loaded into the F* type-checker and can interoperate with interpreted code. Evaluation on realistic case studies shows that Meta-F* provides substantial gains in proof development, efficiency, and robustness.Comment: Full version of ESOP'19 pape

    Nudging folks towards stronger password choices:providing certainty is the key

    Get PDF
    Persuading people to choose strong passwords is challenging. One way to influence password strength, as and when people are making the choice, is to tweak the choice architecture to encourage stronger choice. A variety of choice architecture manipulations i.e. “nudges”, have been trialled by researchers with a view to strengthening the overall password profile. None has made much of a difference so far. Here we report on our design of an influential behavioural intervention tailored to the password choice context: a hybrid nudge that significantly prompted stronger passwords.We carried out three longitudinal studies to analyse the efficacy of a range of “nudges” by manipulating the password choice architecture of an actual university web application. The first and second studies tested the efficacy of several simple visual framing “nudges”. Password strength did not budge. The third study tested expiration dates directly linked to password strength. This manipulation delivered a positive result: significantly longer and stronger passwords. Our main conclusion was that the final successful nudge provided participants with absolute certainty as to the benefit of a stronger password, and that it was this certainty that made the difference

    Classical Control, Quantum Circuits and Linear Logic in Enriched Category Theory

    Full text link
    We describe categorical models of a circuit-based (quantum) functional programming language. We show that enriched categories play a crucial role. Following earlier work on QWire by Paykin et al., we consider both a simple first-order linear language for circuits, and a more powerful host language, such that the circuit language is embedded inside the host language. Our categorical semantics for the host language is standard, and involves cartesian closed categories and monads. We interpret the circuit language not in an ordinary category, but in a category that is enriched in the host category. We show that this structure is also related to linear/non-linear models. As an extended example, we recall an earlier result that the category of W*-algebras is dcpo-enriched, and we use this model to extend the circuit language with some recursive types

    Integrating content-based language learning and intercultural learning online: An international eGrops collaboration

    Get PDF
    Learning language through content in the tertiary context presents a challenge in that language teachers, particularly in EAP/ESP contexts, are not necessarily experts in their students’ speciality subject areas, while subject experts might lack language teaching methodology. Furthermore, intercultural awareness, a key qualification in today’s global work environment, tends to take a back seat in a content-based approach. This paper reports on a didactic concept which integrates subject-based language learning with intercultural experience through online collaboration in an international eGroups set-up. The creation of a collaborative learning space aimed to bring together learners from different cultural contexts (New Zealand and Germany) and with different target languages (German and English) towards shared learning outcomes. Data from student interactions will help illustrate to what extent the eGroups model promoted interactive, communicative and intercultural competence through content-related bilingual collaboration

    Linguistic Reflection in Java

    Get PDF
    Reflective systems allow their own structures to be altered from within. Here we are concerned with a style of reflection, called linguistic reflection, which is the ability of a running program to generate new program fragments and to integrate these into its own execution. In particular we describe how this kind of reflection may be provided in the compiler-based, strongly typed object-oriented programming language Java. The advantages of the programming technique include attaining high levels of genericity and accommodating system evolution. These advantages are illustrated by an example taken from persistent programming which shows how linguistic reflection allows functionality (program code) to be generated on demand (Just-In-Time) from a generic specification and integrated into the evolving running program. The technique is evaluated against alternative implementation approaches with respect to efficiency, safety and ease of use.Comment: 25 pages. Source code for examples at http://www-ppg.dcs.st-and.ac.uk/Java/ReflectionExample/ Dynamic compilation package at http://www-ppg.dcs.st-and.ac.uk/Java/DynamicCompilation

    The Technological Bias in the Establishment of a Technological Regime: the adoption and enforcement of early information processing technologies in US manufacturing, 1870-1930

    Get PDF
    This paper presents a qualitative study on the adoption of early information technologies, such as typewriters, calculators or Hollerith machines in US manufacturing in the period between 1870 and 1930, which was by all means a true systemic innovation. Our empirical work is guided by a theoretical framework in which the theory of induced innovation is interpreted along "classical" lines in which an explicit link to the concept of technological regimes is established. We show how the presence of a distinct bias in technical change in US manufacturing led to the opening of a window of opportunity for early information technologies. We work out how the presence of this bias influenced the technological search and adoption process of firms and how this found its final reflection in the rules and heuristics of the regime, as well as the technological trajectories of the technologies. The reliance on established practices led organisation designers to cast the logic of large scale manufacturing into the administrative organisation of firms. This required the convergence of technical practices. The resulting technological trajectories and path dependencies were the outcome of the diffusion and the hardening of the early office work regime. Our analysis of US manufacturing data of the period suggests that even though electrification and "bureaucratisation" overlapped they cannot considered being the result of the same pattern of technology adoption, identified by the development of the capital-labour ratio.economics of technology ;

    FunTAL: Reasonably Mixing a Functional Language with Assembly

    Full text link
    We present FunTAL, the first multi-language system to formalize safe interoperability between a high-level functional language and low-level assembly code while supporting compositional reasoning about the mix. A central challenge in developing such a multi-language is bridging the gap between assembly, which is staged into jumps to continuations, and high-level code, where subterms return a result. We present a compositional stack-based typed assembly language that supports components, comprised of one or more basic blocks, that may be embedded in high-level contexts. We also present a logical relation for FunTAL that supports reasoning about equivalence of high-level components and their assembly replacements, mixed-language programs with callbacks between languages, and assembly components comprised of different numbers of basic blocks.Comment: 15 pages; implementation at https://dbp.io/artifacts/funtal/; published in PLDI '17, Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, June 18 - 23, 2017, Barcelona, Spai
    • 

    corecore