Filters








325,847 Hits in 6.1 sec

Proving Properties about Functions on Lists Involving Element Tests [chapter]

Daniel Seidel, Janis Voigtländer
2012 Lecture Notes in Computer Science  
All these results are restricted to fully polymorphic functions. For example, functions using equality tests on list elements are out of reach.  ...  Bundy and Richardson [4] developed a method for reasoning about functions manipulating lists which is based on separating shape from content, and then exploiting a mathematically convenient representation  ...  functions on lists to the case of the presence of element tests.  ... 
doi:10.1007/978-3-642-28412-0_17 fatcat:25zvp5sjjfhsfi5fjhsixfdirq

Property-Based Testing and Verification: A Catalog of Classroom Examples [chapter]

Rex Page
2012 Lecture Notes in Computer Science  
Our collection of examples from course records may help shed some light on how closely pedagogy on property-based testing matches observations of relative frequencies of various categories of properties  ...  Hughes has observed that software properties useful for testing functional software often (1) compare the results of different ways of computing the same thing or (2) check that forward and inverse transformations  ...  Morazán for suggesting a section on tips for full verification of prpperties and John Hughes for helpful discussions of property categories.  ... 
doi:10.1007/978-3-642-34407-7_9 fatcat:v5g4x2pk7zalnn6k7v74ngz2e4

Logic against ghosts

Allan Blanchard, Nikolai Kosmatov, Frédéric Loulergue
2019 Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing - SAC '19  
The proposed specifications are validated by proving a few client functions manipulating lists. During the verification, a more efficient implementation for one function was found and verified.  ...  The specifications of all functions are now proved faster and almost all automatically, only a small number of auxiliary lemmas and a couple of assertions being proved interactively in Coq.  ...  In order to get confidence in our specification of the list module functions, we wrote 15 valid test functions manipulating lists, and proved simple properties about them using Frama-C/Wp.  ... 
doi:10.1145/3297280.3297495 dblp:conf/sac/BlanchardKL19 fatcat:eyb25mrlenctxgauugbe4rdrt4

Ghosts For Lists: A Critical Module Of Contiki Verified In Frama-C

Allan Blanchard, Kosmatov Nikolai, Frederic Loulergue
2018 Zenodo  
Finally, we validate the proposed specification by proving a few functions manipulating lists.  ...  The proposed verification technique relies on a parallel view of a list through a companion ghost array.  ...  Validation of Specification To get confidence in the proposed specification, we have implemented 15 simple valid test functions 7 manipulating lists, and tried to prove simple properties on lists in them  ... 
doi:10.5281/zenodo.1402494 fatcat:q3aslgztnvdx5jjklotmvrpkpm

Ghosts for Lists: A Critical Module of Contiki Verified in Frama-C [chapter]

Allan Blanchard, Nikolai Kosmatov, Frédéric Loulergue
2018 Lecture Notes in Computer Science  
Finally, we validate the proposed specification by proving a few functions manipulating lists.  ...  The proposed verification technique relies on a parallel view of a list through a companion ghost array.  ...  Validation of Specification To get confidence in the proposed specification, we have implemented 15 simple valid test functions 7 manipulating lists, and tried to prove simple properties on lists in them  ... 
doi:10.1007/978-3-319-77935-5_3 fatcat:drww6giaqrc37hkfl4gjgjmcwa

Verifying haskell programs using constructive type theory

Andreas Abel, Marcin Benke, Ana Bove, John Hughes, Ulf Norell
2005 Proceedings of the 2005 ACM SIGPLAN workshop on Haskell - Haskell '05  
Proof assistants based on dependent type theory are closely related to functional programming languages, and so it is tempting to use them to prove the correctness of functional programs.  ...  One begins by expressing a specification as a type; for example, ∀xs :: List Integer.∃ys :: List Integer. isPermutation(xs, ys) ∧ isOrdered(ys)  ...  proofs about partial programs.  ... 
doi:10.1145/1088348.1088355 dblp:conf/haskell/AbelBBHN05 fatcat:43fip43tijgtpnwlsxrhsh6swu

Engineering software correctness

Rex Page
2005 Proceedings of the 2005 workshop on Functional and declaritive programming in education - FDPE '05  
The sequence is based on functional programming using ACL2, a purely functional subset of Common Lisp with a built-in, computational logic developed by J Strother Moore and his colleagues over the past  ...  In the second offering, about forty percent of the students gained enough competence with the ACL2 mechanized logic to make significant use of it in verifying properties of software.  ...  One such example is a function that parcels a list into packets. Each packet is a contiguous sublist of the original, containing the elements lying between occurrences of a specified delimiter.  ... 
doi:10.1145/1085114.1085123 dblp:conf/icfp/Page05 fatcat:5cepkw3al5fbdaelk2f2a5n2rm

Engineering Software Correctness

REX PAGE
2007 Journal of functional programming  
The sequence is based on functional programming using ACL2, a purely functional subset of Common Lisp with a built-in, computational logic developed by J Strother Moore and his colleagues over the past  ...  In the second offering, about forty percent of the students gained enough competence with the ACL2 mechanized logic to make significant use of it in verifying properties of software.  ...  One such example is a function that parcels a list into packets. Each packet is a contiguous sublist of the original, containing the elements lying between occurrences of a specified delimiter.  ... 
doi:10.1017/s095679680700634x fatcat:ftethwcglvcibprebzo3tzpqsu

Pi-Ware: Hardware Description and Verification in Agda

João Paulo Pizani Flor, Wouter Swierstra, Yorick Sijsling, Marc Herbstritt
2018 Types for Proofs and Programs  
We demonstrate this by defining an algebra of parallel prefix circuits, proving their correctness and further algebraic properties.  ...  There is a long tradition of modelling digital circuits using functional programming languages.  ...  Acknowledgements We would like to thank the helpful comments and suggestions of the attendants of the TYPES 2015 conference in Tallinn where we presented our initial results on Π-Ware.  ... 
doi:10.4230/lipics.types.2015.9 dblp:conf/types/FlorSS15 fatcat:cfswwcfherbinipoj363hl722a

Functional programming and theorem proving for undergraduates

Rex Page, Carl Eastlund, Matthias Felleisen
2008 Proceedings of the 2008 international workshop on Functional and declarative programming in education - FDPE '08  
For the past five years, the University of Oklahoma has used the ACL2 theorem prover for a year-long sequence on software engineering.  ...  One out of four times, the generator produces nil; three in four times, it extends a recursively chosen tail list with an element chosen independently from elem-dist.  ...  Lastly, the library provides a pseudo-random number function. The machine perspective is useful for proving theorems about such GUI programs.  ... 
doi:10.1145/1411260.1411264 dblp:conf/icfp/PageEF08 fatcat:h2fvj7jj3fcipec6n7qgdscxm4

Automating Inductive Proofs Using Theory Exploration [chapter]

Koen Claessen, Moa Johansson, Dan Rosén, Nicholas Smallbone
2013 Lecture Notes in Computer Science  
HipSpec is a system for automatically deriving and proving properties about functional programs.  ...  It uses a novel approach, combining theory exploration, counterexample testing and inductive theorem proving.  ...  The test suites consist of conjectures about natural numbers, lists and binary trees. As they feature a large number of unrelated functions, HipSpec was run separately for each property.  ... 
doi:10.1007/978-3-642-38574-2_27 fatcat:jdb5lnunjnejxkcsjh3bpp5aym

Termination in ACL2 Using Multiset Relations [chapter]

J. L. Ruiz-Reina, J. A. Alonso, M. J. Hidalgo, F. J. Martín-Mateos
2003 Applied Logic Series  
We prove this property in the ACL2 logic, and use it by functional instantiation in order to provide well-founded relations for the admissibility test of recursive functions.  ...  Every relation on a set A induces a relation on finite multisets over A; it can be shown that the multiset relation induced by a well-founded relation is also well-founded.  ...  For example, the expression (remove-one 3 '(5 3 7 3)) is evaluated to (5 7 3). But we can also state and prove formal properties about the function, using the ACL2 logic.  ... 
doi:10.1007/978-94-017-0253-9_9 fatcat:c5apat4qx5amvljyex4gq7pc3u

Accurate Programming: Thinking about programs in terms of properties

Walid Taha, Veronica Gaspes, Rex Page
2011 Electronic Proceedings in Theoretical Computer Science  
This is achieved by encouraging programmers to think about programs in terms of properties.  ...  It combines ideas from test-automation, test-driven development, agile programming, and other state of the art software development methods.  ...  Finally, Paul Brauner kindly provided us with helpful comments on a draft of these notes. Rex's visit would have not been possible without the generous support of the U.S.  ... 
doi:10.4204/eptcs.66.13 fatcat:2p6qj7o47zatfcd3qblx7rb7ge

Towards the Formal Reliability Analysis of Oil and Gas Pipelines [chapter]

Waqar Ahmad, Osman Hasan, Sofiène Tahar, Mohammad Salah Hamdi
2014 Lecture Notes in Computer Science  
The formal reasoning about the proof of Theorem 2 involves some basic axioms of probability theory and a property that the CDF is a monotonically increasing function.  ...  The predicate PERM ensures that its two list arguments form a permutation of one another, the function LENGTH returns the length of a list, the function TAKE returns a list that contains the first n elements  ... 
doi:10.1007/978-3-319-08434-3_4 fatcat:upkuwifzpzberoer4ji2qwycr4

Learning to Represent Programs with Property Signatures [article]

Augustus Odena, Charles Sutton
2020 arXiv   pre-print
For instance, if τ_in and τ_out are both lists of the same type, one property might ask 'is the input list the same length as the output list?'.  ...  If we have a list of such properties, we can evaluate them all for our function to get a list of outputs that we will call the property signature.  ...  Most of all, we owe a substantial debt to Niklas Een, on whose Evo programming language (https://github.com/tensorflow/deepmath/tree/master/ deepmath/zz/CodeBreeder) the Searcho language is heavily based  ... 
arXiv:2002.09030v1 fatcat:ew5evgqhtjcwdllz4oc5fj75x4
« Previous Showing results 1 — 15 out of 325,847 results