Learn More
This paper proposes an initial catalog of easy-to-state, relatively simple, and incrementally more and more challenging benchmark problems for the Verified Software Initiative. These benchmarks support assessment of verification tools and techniques to prove total correctness of functionality of sequential object-based and object-oriented software. The(More)
Abstraction is one of the cornerstones of software development and is recognized as a fundamental and essential principle to be taught as early as CS1/CS2. Abstraction supposedly can enhance students' ability to reason and think. Yet we often hear complaints about the inability of CS undergraduates to do that. Do we supply students with the tools they need(More)
Leukocyte- and platelet-rich fibrin (L-PRF) is a biomaterial commonly used in periodontology and implant dentistry to improve healing and tissue regeneration, particularly as filling material in alveolar sockets to regenerate bone for optimal dental implant placement. The objective of this work was to evaluate the use of L-PRF as a safe filling and(More)
Safe and secure reuse demands construction and use of verified reusable software components. Such verified components need much more than typical code for components in popular languages, such as C++ or Java. The components need to have formal specifications of behavior against which their implementations are verified. To be trusted, such verification must(More)
AIM Coeliac disease is characterized by oral manifestations, such as dental enamel defects and recurrent oral aphthae. In this study we compared the prevalence of enamel defects and recurrent aphthous stomatitis (RAS) between patients diagnosed with coeliac disease and healthy controls. METHODS A total of 72 patients with coeliac disease were studied(More)
The correctness of a component-based software system depends on the component client's ability to reason about the behavior of the components that comprise the system, both in isolation and as composed. The soundness of such reasoning is dubious given the current state of the practice. Soundness is especially troublesome for component technologies where(More)
A central objective of the verifying compiler grand challenge is to develop a push-button verifier that generates proofs of correctness in a syntax-driven fashion similar to the way an ordinary compiler generates machine code. The software developer’s role is then to provide suitable specifications and annotated code, but otherwise to have no direct(More)
When teaching certain CS topics (e.g., abstract data types, operating systems), the instructor tries to make clear the distinction between the "client" perspective and the "implementer" perspective. But when teaching some programming language features and related programming techniques, this dichotomy often is not respected as strongly as it should be. We(More)