968 research outputs found

    Flexible Invariants Through Semantic Collaboration

    Full text link
    Modular reasoning about class invariants is challenging in the presence of dependencies among collaborating objects that need to maintain global consistency. This paper presents semantic collaboration: a novel methodology to specify and reason about class invariants of sequential object-oriented programs, which models dependencies between collaborating objects by semantic means. Combined with a simple ownership mechanism and useful default schemes, semantic collaboration achieves the flexibility necessary to reason about complicated inter-object dependencies but requires limited annotation burden when applied to standard specification patterns. The methodology is implemented in AutoProof, our program verifier for the Eiffel programming language (but it is applicable to any language supporting some form of representation invariants). An evaluation on several challenge problems proposed in the literature demonstrates that it can handle a variety of idiomatic collaboration patterns, and is more widely applicable than the existing invariant methodologies.Comment: 22 page

    Electronically excited rubidium atom in a helium cluster or film.

    Get PDF
    International audienceWe present theoretical studies of helium droplets and films doped with one electronically excited rubidium atom Rb( *) ((2)P). Diffusion and path integral Monte Carlo approaches are used to investigate the energetics and the structure of clusters containing up to 14 helium atoms. The surface of large clusters is approximated by a helium film. The nonpair additive potential energy surface is modeled using a diatomic in molecule scheme. Calculations show that the stable structure of Rb( *)He(n) consists of a seven helium atom ring centered at the rubidium, surrounded by a tirelike second solvation shell. A very different structure is obtained when performing a "vertical Monte Carlo transition." In this approach, a path integral Monte Carlo equilibration starts from the stable configuration of a rubidium atom in the electronic ground state adsorbed to the helium surface after switching to the electronically excited surface. In this case, Rb( *)He(n) relaxes to a weakly bound metastable state in which Rb( *) sits in a shallow dimple. The interpretation of the results is consistent with the recent experimental observations [G. Aubock et al., Phys. Rev. Lett. 101, 035301 (2008)]

    The VerCors tool for verification of concurrent programs

    Get PDF
    The VerCors tool implements thread-modular static verification of concurrent programs, annotated with functional properties and heap access permissions. The tool supports both generic multithreaded and vector-based programming models. In particular, it can verify multithreaded programs written in Java, specified with JML extended with separation logic. It can also verify parallelizable programs written in a toy language that supports the characteristic features of OpenCL. The tool verifies programs by first encoding the specified program into a much simpler programming language and then applying the Chalice verifier to the simplified program. In this paper we discuss both the implementation of the tool and the features of its specification language

    Automating Deductive Verification for Weak-Memory Programs

    Full text link
    Writing correct programs for weak memory models such as the C11 memory model is challenging because of the weak consistency guarantees these models provide. The first program logics for the verification of such programs have recently been proposed, but their usage has been limited thus far to manual proofs. Automating proofs in these logics via first-order solvers is non-trivial, due to reasoning features such as higher-order assertions, modalities and rich permission resources. In this paper, we provide the first implementation of a weak memory program logic using existing deductive verification tools. We tackle three recent program logics: Relaxed Separation Logic and two forms of Fenced Separation Logic, and show how these can be encoded using the Viper verification infrastructure. In doing so, we illustrate several novel encoding techniques which could be employed for other logics. Our work is implemented, and has been evaluated on examples from existing papers as well as the Facebook open-source Folly library.Comment: Extended version of TACAS 2018 publicatio

    Intermediate ions as a strong indicator of new particle formation bursts in a boreal forest

    Get PDF
    Secondary aerosol formation from gas-phase precursors is a frequent phenomenon occurring in a boreal environment. Traditionally, this process is identified visually from observational data on total and ion number size distributions. Here, we introduce a new, objective classification method for the new particle formation events based on measured intermediate-ion concentrations. The intermediate-ion concentration is a suitable indicator of new particle formation, because it is linked to the atmospheric new particle formation. The concentration of intermediate ions is typically very low (below 5 cm(-3)) when there is no new particle formation or precipitation events occurring. In this study, we analysed concentrations of negative intermediate ions at the Station for Measuring Ecosystem Atmosphere Relations (SMEAR II) in Hyytiala, Finland, during the years 2003-2013. We found that the half-hour median concentration of negative intermediate ions in sizes 2-4 nm was > 20 cm(-3) during 77.5% of event days classified by traditional method. The corresponding value was 92.3% in the case of 2-7 nm negative ions. In addition, the intermediate-ion concentration varied seasonally in a similar manner as the number of event days, peaking in the spring. A typical diurnal variation of the intermediate-ion concentration resembled that of the particle concentration during the event days. We developed here a new method for classifying new particle formation events based on intermediate-ion concentrations. The new method is complementary to the traditional event analysis and it can also be used as an automatic way of determining new particle formation events from large data sets.Peer reviewe

    Moving from Specifications to Contracts in Component-Based Design

    Get PDF
    Abstract. Program properties that are automatically inferred by static analysis tools are generally not considered to be completely trustworthy, unless the tool implementation or the results are formally verified. Here we focus on the formal verification of resource guarantees inferred by automatic cost analysis. Resource guarantees ensure that programs run within the indicated amount of resources which may refer to memory consumption, to number of instructions executed, etc. In previous work we studied formal verification of inferred resource guarantees that depend only on integer data. In realistic programs, however, resource consumption is often bounded by the size of heap-allocated data structures. Bounding their size requires to perform a number of structural heap analyses. The contributions of this paper are (i) to identify what exactly needs to be verified to guarantee sound analysis of heap manipulating programs, (ii) to provide a suitable extension of the program logic used for verification to handle structural heap properties in the context of resource guarantees, and (iii) to improve the underlying theorem prover so that proof obligations can be automatically discharged.

    Leisure time physical activity in a 22-year follow-up among Finnish adults

    Get PDF
    BACKGROUND: The aim of this study was to explore long-term predictors of leisure time physical activity in the general population. METHODS: This study comprised 718 men and women who participated in the national Mini-Finland Health Survey from 1978–1980 and were re-examined in 2001. Participants were aged 30–80 at baseline. Measurements included interviews, health examinations, and self-administered questionnaires, with information on socioeconomic position, occupational and leisure time physical activity, physical fitness, body mass index, smoking, alcohol consumption, and physical functional capacity. Analyses included persons who were working and had no limitations in functional capacity at baseline. RESULTS: The strongest predictor of being physically active at the follow-up was participation in physical activity at baseline, with an OR 13.82 (95%CI 5.50-34.70) for 3 or more types of regular activity, OR 2.33 (95%CI 1.22-4.47) for 1–2 types of regular activity, and OR 3.26 (95%CI 2.07-5.15) for irregular activity, as compared to no activity. Other determinants for being physically active were moving upwards in occupational status, a high level of baseline occupational physical activity and remaining healthy weight during the follow-up. CONCLUSIONS: To prevent physical inactivity among older adults, it is important to promote physical activity already in young adulthood and in middle age and to emphasize the importance of participating in many types of physical activity

    Ethical problems in nursing management – a cross-sectional survey about solving problems

    Get PDF
    Background: Nurse managers encounter a wide range of ethical problems related to patients, staff, the organisation and themselves. However, little is known about the methods they use to try to solve these problems. In this study, our goal is to fill this knowledge gap by investigating the ethical problems encountered by nurse managers, the frequency of use and usefulness of different methods to solve these problems, and the background factors associated with the use of the methods.Methods: A cross-sectional survey study was conducted in November 2014-May 2015 in Finland. The data were collected from nurse managers in strategic, middle and ward management (n=214) using a questionnaire developed for this study. The questionnaire consisted of four parts: socio-demographic background factors, frequency and difficulty of ethical problems in nursing management, frequency of use and usefulness of the methods in solving ethical problems, and work-related background factors.Results: Discussions with nurses was the most frequently used method, used by 94% of the nurse managers either often or always in the case of ethical problems, followed by the use of personal values (74%) and discussions with manager colleagues (70%). However, almost all methods in the different groups - discussion and deliberation, use of outside experts, written instructions and ethical principles, acts and degrees as well as work arrangements - were considered somewhat or very useful by more than half of the respondents. The use of outside experts was the least used and the least useful method.Conclusions: When solving ethical problems, nurse managers use most frequently the same methods as a few decades ago. A more diverse range of methods would be helpful in ethical problem-solving. The use of outside experts, ethics literature and codes of ethics should be combined with ethical reasoning and decision-making to get new dimensions and outside knowledge.</div
    corecore