1,922 research outputs found

    The AutoProof Verifier: Usability by Non-Experts and on Standard Code

    Get PDF
    Formal verification tools are often developed by experts for experts; as a result, their usability by programmers with little formal methods experience may be severely limited. In this paper, we discuss this general phenomenon with reference to AutoProof: a tool that can verify the full functional correctness of object-oriented software. In particular, we present our experiences of using AutoProof in two contrasting contexts representative of non-expert usage. First, we discuss its usability by students in a graduate course on software verification, who were tasked with verifying implementations of various sorting algorithms. Second, we evaluate its usability in verifying code developed for programming assignments of an undergraduate course. The first scenario represents usability by serious non-experts; the second represents usability on "standard code", developed without full functional verification in mind. We report our experiences and lessons learnt, from which we derive some general suggestions for furthering the development of verification tools with respect to improving their usability.Comment: In Proceedings F-IDE 2015, arXiv:1508.0338

    Inferring Concise Specifications of APIs

    Get PDF
    Modern software relies on libraries and uses them via application programming interfaces (APIs). Correct API usage as well as many software engineering tasks are enabled when APIs have formal specifications. In this work, we analyze the implementation of each method in an API to infer a formal postcondition. Conventional wisdom is that, if one has preconditions, then one can use the strongest postcondition predicate transformer (SP) to infer postconditions. However, SP yields postconditions that are exponentially large, which makes them difficult to use, either by humans or by tools. Our key idea is an algorithm that converts such exponentially large specifications into a form that is more concise and thus more usable. This is done by leveraging the structure of the specifications that result from the use of SP. We applied our technique to infer postconditions for over 2,300 methods in seven popular Java libraries. Our technique was able to infer specifications for 75.7% of these methods, each of which was verified using an Extended Static Checker. We also found that 84.6% of resulting specifications were less than 1/4 page (20 lines) in length. Our technique was able to reduce the length of SMT proofs needed for verifying implementations by 76.7% and reduced prover execution time by 26.7%

    Formal Verification of Hand-Coded Software Some Industrial Experiments and Lessons Learnt

    Get PDF
    International audienceThis paper gives an account of an ongoing attempt to prove the safety properties, of a hand-coded safety critical embedded software of industrial size. The method used is based on annotating the C source files with assertions that encode the safety-related functional properties to be satisfied by the software, and then generating proof obligations to be discharged by some theorem provers. We discuss what has been achieved and what difficulties were encountered, from which we derive requirements regarding the evolution of the verification tools involved in that experiment

    EU migrants and the welfare state: Interview with Jean-Michel Lafleur

    Get PDF
    Jean-Michel Lafleur é Professor na Universidade de Liège e Director Associado do seu Centro de Estudos Étnicos e Migratórios (CEDEM). É também investigador associado na Fundação Nacional da Ciência da Bélgica (FRS-FNRS). Actualmente é titular de uma Bolsa Inicial do Conselho Europeu de Investigação (ERC) para trabalhar num projecto intitulado "Migração e Protecção Social Transnacional na Europa Pós-crise"

    Educating future product developers in collaborative product development : lessons learned from the european global product realization (EGPR) international course

    Get PDF
    Changes in the business environment, responses of companies to these changes and the available information and communication technologies (ICT) pose a number of challenges to present and future product developers, as well as to educational institutions. An appropriate response to these challenges is to create a solid basis for strategies to combat stronger competition, since existing educational programs have provided this only to a small extent. In our opinion, the E-GPR course carried out by 5 European universities reflects the tasks of professional product development teams and their work conditions as realistically as possible and will enable students attending the E-GPR course who will soon enter the professional world to later progress along a steeper learning curve. This paper focuses on the role of communication between members of virtual teams and presents experiences gathered during the organization, designing and performance of each year’s courses
    • …
    corecore