69 research outputs found

    Exact separation logic: towards bridging the gap between verification and bug-finding

    Get PDF
    Over-approximating (OX) program logics, such as separation logic (SL), are used for verifying properties of heap-manipulating programs: all terminating behaviour is characterised, but established results and errors need not be reachable. OX function specifications are thus incompatible with true bug-finding supported by symbolic execution tools such as Pulse and Pulse-X. In contrast, under-approximating (UX) program logics, such as incorrectness separation logic, are used to find true results and bugs: established results and errors are reachable, but there is no mechanism for understanding if all terminating behaviour has been characterised. We introduce exact separation logic (ESL), which provides fully-verified function specifications compatible with both OX verification and UX true bug-funding: all terminating behaviour is characterised and all established results and errors are reachable. We prove soundness for ESL with mutually recursive functions, demonstrating, for the first time, function compositionality for a UX logic. We show that UX program logics require subtle definitions of internal and external function specifications compared with the familiar definitions of OX logics. We investigate the expressivity of ESL and, for the first time, explore the role of abstraction in UX reasoning by verifying abstract ESL specifications of various data-structure algorithms. In doing so, we highlight the difference between abstraction (hiding information) and over-approximation (losing information). Our findings demonstrate that abstraction cannot be used as freely in UX logics as in OX logics, but also that it should be feasible to use ESL to provide tractable function specifications for self-contained, critical code, which would then be used for both verification and true bug-finding

    Green Pathways for the Enzymatic Synthesis of Furan-Based Polyesters and Polyamides

    Get PDF
    The attention towards the utilization of sustainable feedstocks for polymer synthesis has grown exponentially in recent years. One of the spotlighted monomers derived from renewable resources is 2,5-furandicarboxylic acid (FDCA), one of the most promising bio-based monomers, due to its resemblance to petroleum-based terephthalic acid. Very interesting synthetic routes using this monomer have been reported in the last two decades. Combining the use of bio-based monomers and non-toxic chemicals via enzymatic polymerizations can lead to a robust and favorable approach towards a greener technology of bio-based polymer production. In this chapter, a brief introduction to FDCA-based monomers and enzymatic polymerizations is given, particularly focusing on furan-based polymers and their polymerization. In addition, an outline of the recent developments in the field of enzymatic polymerizations is discussed. </p

    A small, but important, concurrency problem in Verilog’s semantics? (Work in progress)

    No full text
    Despite its many flaws, Verilog is today both the most popular hardware design language and a popular language for communication between hardware development tools. Ever since the language was standardised, researchers have made attempts at formalising its semantics. To this day, no such attempt has been fully successful. In this paper, we highlight one – we think, important – concurrency problem in Verilog’s semantics that has, for now, sidetracked our own ongoing Verilog semantics formalisation attempt. To us, the problem calls for a clarification of the Verilog standard. We propose a potential fix for the problem

    Pretreatment of oil palm fronds for enhancing xylose production

    No full text
    The purpose of lignocellulosic biomass pretreatment is to extract the reducing sugars contained in the biomass, which are building blocks for biofuels and many types of platform chemicals. In this research project, different integrated pretreatment systems consisting of inorganic salts with/without the assistance of oxidizing agents or deep eutectic solvents are evaluated and compared in terms of their performance to extract a hemicellulosic sugar, namely xylose, from oil palm fronds. Subsequently, the xylose-rich pretreatment hydrolysate is further subjected to a fermentation process to produce xylitol, a pentose sugar alcohol widely used in pharmaceutical, medical, and food industries
    • …
    corecore