6 research outputs found

    An Exercise in Verifying Sequential Programs with VerCors

    Get PDF
    Society nowadays relies heavily on software, which makes verifying the correctness of software crucially important. Various verification tools have been proposed for this purpose, each focusing on a limited set of tasks, as there are many different ways to build and reason about software. This paper discusses two case studies from the VerifyThis2018 verification competition, worked out using the VerCors verification toolset. Interestingly, these case studies are sequential, while VerCors specialises in reasoning about parallel and concurrent software. This paper elaborates on our experiences of using VerCors to verify sequential programs. The first case study involves specifying and verifying the behaviour of a gap buffer; a data-structure commonly used in text editors. The second case study involves verifying a combinatorial problem based on Project Euler problem #114. We find that VerCors is well capable of reasoning about sequential software, and that certain techniques to reason about concurrency can help to reason about sequential programs. However, the extra annotations required to reason about concurrency bring some specificational overhead

    International student exchange and academic performance

    Full text link
    International student exchange has become an important part of university-level studies and the EU plans to increase it significantly. We analyze how international student exchange affects students’ academic human capital. Using detailed student-level data from four faculties (Economics and Business, Law, Engineering and Science) of a large Belgian public university we find that, on average, exchange students lose 7% in terms of grades relative to their non-mobile peers, but less so in Erasmus-facilitated exchange. Since students’ academic performance is an important factor in companies’ hiring decisions, participation in international exchange seems to have a non-negligible impact on labor market outcomes

    Formal Verification of Parallel Prefix Sum

    No full text
    With the advent of dedicated hardware for multicore programming, parallel algorithms have become omnipresent. For example, various algorithms have been proposed for the parallel computation of a prefix sum in the literature. As the prefix sum is a basic building block for many other multicore algorithms, such as sorting, its correctness is of utmost importance. This means, the algorithm should be functionally correct, and the implementation should be thread and memory safe. In this paper, we use deductive program verification based on permission-based separation logic, as supported by VerCors, to show correctness of the two most frequently used parallel in-place prefix sum algorithms for an arbitrary array size. Interestingly, the correctness proof for the second algorithm reuses the auxiliary lemmas that we needed to create the first proof. To the best of our knowledge, this paper is the first tool-supported verification of functional correctness of the two parallel in-place prefix sum algorithms which does not make any assumption about the size of the input array

    Artifact for Automated Verification of Parallel Nested DFS, TACAS’20

    No full text
    This dataset contains the artifact for our TACAS'20 article titled: Automated Verification of Parallel Nested DFS. More specifically, it contains the VerCors implementation of the parallel NDFS algorithm described in Section 3 of the paper, as well as the two optimisations of parallel NDFS described in Section 4. It also contains a release of VerCors for verifying these three implementations

    Vlaams Indicatorenboek 2019

    No full text
    Het Vlaams Indicatorenboek 2019 is een uitgave van het Expertisecentrum O&O Monitoring van de Vlaamse Gemeenschap in opdracht van de Vlaamse minister van Werk, Economie, Innovatie, en Sport en van de Vlaamse minister van Onderwijsstatus: publishe
    corecore