Re: [Haskell] [ANN] GenCheck - a generalized property-based testing framework
HI Jacques, This looks very similar to the recently released testing-feat library: http://hackage.haskell.org/package/testing-feat-0.2 I get a build error on the latest platform: Test\GenCheck\Base\LabelledPartition.lhs:126:3: The equation(s) for `new' have two arguments, but its type `[a] -> Map k a' has only one In the instance declaration for `LabelledPartition (Map k) a' Regards, Jonas On 19 June 2012 17:04, Jacques Carette wrote: > Test.GenCheck is a Haskell library for generalized proposition-based > testing. It simultaneously generalizes QuickCheck and SmallCheck. > > Its main novel features are: > > introduces a number of testing strategies and strategy combinators > introduces a variety of test execution methods > guarantees uniform sampling (at each rank) for the random strategy > guarantees both uniqueness and coverage of all structures for the exhaustive > strategy > introduces an extreme strategy for testing unbalanced structures > also introduces a uniform strategy which does uniform sampling along an > enumeration > allows different strategies to be mixed; for example one can exhaustively > test all binary trees up to a certain size, filled with random integers. > complete separation between properties, generators, testing strategies and > test execution methods > > The package is based on a lot of previous research in combinatorics > (combinatorial enumeration of structures and the theory of Species), as well > as a number of established concepts in testing (from a software engineering > perspective). In other words, further to the features already implemented in > this first release, the package contains an extensible, general framework > for generators, test case generation and management. It can also be very > easily generalized to cover many more combinatorial structures unavailable > as Haskell types. > > The package also provides interfaces for different levels of usage. In other > words, there is a 'simple' interface for dealing with straightforward > testing, a 'medium' interface for those who want to explore different > testing strategies, and an 'advanced' interface for access to the full power > of GenCheck. > > See http://hackage.haskell.org/package/gencheck for further details. > > In the source repository (https://github.com/JacquesCarette/GenCheck), the > file tutorial/reverse/TestReverseList.lhs shows the simplest kinds of tests > (standard and deep for structures, or base for unstructured types) and > reporting (checking, testing and full report) for the classical list reverse > function. The files in tutorial/list_zipper show what can be done with the > medium level interface (this tutorial is currently incomplete). The brave > user can read the source code of the package for the advanced usage -- but > we'll write a tutorial for this too, later. > > User beware: this is gencheck-0.1, there are still a few rough edges. We > plan to add a Template Haskell feature to this which should make deriving > enumerators automatic for version 0.2. > > Jacques and Gordon > > > ___ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell > ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
[Haskell] Haskell Implementors' Workshop 2012, Second CFT
Call for Talks ACM SIGPLAN Haskell Implementors' Workshop http://haskell.org/haskellwiki/HaskellImplementorsWorkshop/2012 Copenhagen, Denmark, September 14th, 2012 The workshop will be held in conjunction with ICFP 2012 http://www.icfpconference.org/icfp2012/ Important dates Proposal Deadline: 10th July 2012 Notification: 27th July 2012 Workshop: 14th September 2012 The Haskell Implementors' Workshop is to be held alongside ICFP 2012 this year in Copenhagen, Denmark. There will be no proceedings; it is an informal gathering of people involved in the design and development of Haskell implementations, tools, libraries, and supporting infrastructure. This relatively new workshop reflects the growth of the user community: there is a clear need for a well-supported tool chain for the development, distribution, deployment, and configuration of Haskell software. The aim is for this workshop to give the people involved with building the infrastructure behind this ecosystem an opportunity to bat around ideas, share experiences, and ask for feedback from fellow experts. We intend the workshop to have an informal and interactive feel, with a flexible timetable and plenty of room for ad-hoc discussion, demos, and impromptu short talks. Scope and target audience - It is important to distinguish the Haskell Implementors' Workshop from the Haskell Symposium which is also co-located with ICFP 2012. The Haskell Symposium is for the publication of Haskell-related research. In contrast, the Haskell Implementors' Workshop will have no proceedings -- although we will aim to make talk videos, slides and presented data available with the consent of the speakers. In the Haskell Implementors' Workshop, we hope to study the underlying technology. We want to bring together anyone interested in the nitty-gritty details behind turning plain-text source code into a deployed product. Having said that, members of the wider Haskell community are more than welcome to attend the workshop -- we need your feedback to keep the Haskell ecosystem thriving. The scope covers any of the following topics. There may be some topics that people feel we've missed, so by all means submit a proposal even if it doesn't fit exactly into one of these buckets: * Compilation techniques * Language features and extensions * Type system implementation * Concurrency and parallelism: language design and implementation * Performance, optimisation and benchmarking * Virtual machines and run-time systems * Libraries and tools for development or deployment Talks - At this stage we would like to invite proposals from potential speakers for a relatively short talk. We are aiming for 20 minute talks with 10 minutes for questions and changeovers. We want to hear from people writing compilers, tools, or libraries, people with cool ideas for directions in which we should take the platform, proposals for new features to be implemented, and half-baked crazy ideas. Please submit a talk title and abstract of no more than 200 words to: johan.tib...@gmail.com We will also have a lightning talks session which will be organised on the day. These talks will be 2-10 minutes, depending on available time. Suggested topics for lightning talks are to present a single idea, a work-in-progress project, a problem to intrigue and perplex Haskell implementors, or simply to ask for feedback and collaborators. Organisers -- * Lennart Augustsson (Standard Chartered Bank) * Manuel M T Chakravarty (University of New South Wales) * Gregory Collins - co-chair (Google) * Simon Marlow (Microsoft Research) * David Terei(Stanford University) * Johan Tibell - co-chair(Google) ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
[Haskell] [ANN] GenCheck - a generalized property-based testing framework
Test.GenCheck is a Haskell library for /generalized proposition-based testing/. It simultaneously generalizes *QuickCheck* and *SmallCheck*. Its main novel features are: * introduces a number of /testing strategies/ and /strategy combinators/ * introduces a variety of test execution methods * guarantees uniform sampling (at each rank) for the random strategy * guarantees both uniqueness and coverage of all structures for the exhaustive strategy * introduces an /extreme/ strategy for testing unbalanced structures * also introduces a /uniform/ strategy which does uniform sampling along an enumeration * allows different strategies to be mixed; for example one can exhaustively test all binary trees up to a certain size, filled with random integers. * complete separation between properties, generators, testing strategies and test execution methods The package is based on a lot of previous research in combinatorics (combinatorial enumeration of structures and the theory of Species), as well as a number of established concepts in testing (from a software engineering perspective). In other words, further to the features already implemented in this first release, the package contains an extensible, general framework for generators, test case generation and management. It can also be very easily generalized to cover many more combinatorial structures unavailable as Haskell types. The package also provides interfaces for different levels of usage. In other words, there is a 'simple' interface for dealing with straightforward testing, a 'medium' interface for those who want to explore different testing strategies, and an 'advanced' interface for access to the full power of GenCheck. See http://hackage.haskell.org/package/gencheck for further details. In the source repository (https://github.com/JacquesCarette/GenCheck), the file tutorial/reverse/TestReverseList.lhs shows the simplest kinds of tests (standard and deep for structures, or base for unstructured types) and reporting (checking, testing and full report) for the classical list reverse function. The files in tutorial/list_zipper show what can be done with the medium level interface (this tutorial is currently incomplete). The brave user can read the source code of the package for the advanced usage -- but we'll write a tutorial for this too, later. User beware: this is gencheck-0.1, there are still a few rough edges. We plan to add a Template Haskell feature to this which should make deriving enumerators automatic for version 0.2. Jacques and Gordon ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
[Haskell] Call for Papers: STVR Special Issue on Tests and Proofs
Apologies for duplicates. CALL FOR PAPERS STVR Special Issue on Tests and Proofs http://lifc.univ-fcomte.fr/tap2012/stvr/ The Software Testing, Verification & Reliability (STVR) journal (http://www3.interscience.wiley.com/journal/13635/home) invites authors to submit papers to a Special Issue on Tests and Proofs. Background == The increasing use of software and the growing system complexity make focused software testing a challenging task. Recent years have seen an increasing industrial and academic interest in the use of static and dynamic analysis techniques together. Success has been reported combining different test techniques such as model-based testing, structural testing, or concolic testing with static techniques such as program slicing, dependencies analysis, model-checking, abstract interpretation, predicate abstraction, or verification. This special issue serves as a platform for researchers and practitioners to present theory, results, experience and advances in Tests and Proofs (TAP). Topics == This special issue focuses on all topics relevant to TAP. In particular, the topics of interest include, but are not limited to: * Program proving with the aid of testing techniques * New challenges in automated reasoning emerging from specificities of test generation * Verification and testing techniques combining proofs and tests * Generation of test data, oracles, or preambles by deductive techniques such as: theorem proving, model checking, symbolic execution, constraint logic programming, SAT and SMT solving * Model-based testing and verification * Automatic bug finding * Debugging of programs combining static and dynamic analysis * Transfer of concepts from testing to proving (e.g., coverage criteria) and from proving to testing * Formal frameworks for test and proof * Tool descriptions, experience reports and evaluation of test and proof * Case studies combining tests and proofs * Applying combination of test and proof techniques to new application domains such as validating security procotols or vulnerability detection of programs * The processes, techniques, and tools that support test and proof Submission Information == The deadline for submissions is 17th December, 2012. Notification of decisions will be given by April 15th, 2013. All submissions must contain original unpublished work not being considered for publication elsewhere. Original extensions to conference papers - identifing clearly additional contributions - are also encouraged unless prohibited by copyright. Submissions will be refereed according to standard procedures for Software Testing, Verification and Reliability. Please submit your paper electronically using the Software Testing, Verification & Reliability manuscript submission site. Select "Special Issue Paper" and enter "Tests and Proofs" as title. Important Dates: * Paper submission: December 17, 2012 * Notification: April 15, 2013 Guest Editors = * Achim D. Brucker, SAP Research, Germany http://www.brucker.ch/ * Wolfgang Grieskamp, Google, U.S.A. http://www.linkedin.com/in/wgrieskamp * Jacques Julliand, University of Franche-Comté, France http://lifc.univ-fcomte.fr/page_personnelle/accueil/8 -- Dr. Achim D. Brucker, SAP Research, Vincenz-Priessnitz-Str. 1, D-76131 Karlsruhe Phone: +49 6227 7-52595, http://www.brucker.ch ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
[Haskell] *** Early registration extended through June 25 *** CAV 2012: Call for Participation
*** Early registration extended through June 25 *** == CALL FOR PARTICIPATION == 24th International Conference on Computer Aided Verification (CAV 2012) July 7-13, 2012 Berkeley, California, USA Program Chairs: Madhusudan Parathasarathy and Sanjit A. Seshia Website: http://cav12.cs.illinois.edu/ *UPDATE* Hotel accommodation is filling up fast. Book your rooms soon! Aims and Scope The conference on Computer Aided Verification (CAV), 2012, is the 24th in a series dedicated to the advancement of the theory and practice of computer-aided formal analysis methods for hardware and software systems. CAV considers it vital to continue spurring advances in hardware and software verification while expanding to new domains such as biological systems and computer security. The conference covers the spectrum from theoretical results to concrete applications, with an emphasis on practical verification tools and the algorithms and techniques that are needed for their implementation. The proceedings of the conference will be published in the Springer-Verlag Lecture Notes in Computer Science series. A selection of papers will be invited to a special issue of Formal Methods in System Design and the Journal of the ACM. ** NEW in 2012 ** CAV will have *special tracks* in the following four areas: 1. Hardware Verification (track chair: Andreas Kuehlmann) 2. Computer Security (track chair: Somesh Jha) 3. Embedded Systems (track chair: Stavros Tripakis) 4. SAT and SMT (track chair: Daniel Kroening) Invited Talks - Wolfgang Thomas, RWTH Aachen University "Synthesis and Some of Its Challenges" - David Dill, Stanford University "Model Checking Cell Biology" - Alex Haldermann, University of Michigan On security of voting machines Invited Tutorials - Rastislav Bodik and Emina Torlak, University of California, Berkeley "Synthesizing Programs with Constraint Solvers" - Aaron Bradley, University of Colorado at Boulder "IC3 and Beyond: Incremental, Inductive Verification" - Chris Myers, University of Utah "Formal Verification of Genetic Circuits" - Michał Moskal, Microsoft Research, Seattle "From C to infinity and back: Unbounded auto-active verification with VCC" == CONFERENCE PROGRAM == Saturday July 7 - WORKSHOPS - NSV 2012 5th International Workshop on Numerical Software Verification Co-chairs: Swarat Chaudhuri, Sriram Sankaranarayanan - (EC)^2 2012 Workshop on Exploiting Concurrency Efficiently and Correctly Co-chairs: Sebastian Burckhardt, Azadeh Farzan, Ganesh Gopalakrishnan, Stephen Siegel, Helmut Veith, Josef Widder - SYNT 2012 1st Workshop on Synthesis Co-chairs: Doron Peled, Sven Schewe - AMFSB 2012 Applications of Formal Methods in Systems Biology Co-chairs: Vincent Danos, Mahesh Viswanathan - LfSA 2012 Logics for System Analysis Co-chairs: André Platzer, Philipp Rümmer Sunday July 8 - WORKSHOPS - NSV 2012 5th International Workshop on Numerical Software Verification Co-chairs: Swarat Chaudhuri, Sriram Sankaranarayanan - (EC)^2 2012 Workshop on Exploiting Concurrency Efficiently and Correctly Co-chairs: Sebastian Burckhardt, Azadeh Farzan, Ganesh Gopalakrishnan, Stephen Siegel, Helmut Veith, Josef Widder - SYNT 2012 1st Workshop on Synthesis Co-chairs: Doron Peled, Sven Schewe - AMFSB 2012 Applications of Formal Methods in Systems Biology Co-chairs: Vincent Danos, Mahesh Viswanathan - BOOGIE 2012 2nd International Workshop on Intermediate Verification Languages Chair: Zvonimir Rakamaric - REORDER 2012 First International Workshop on Memory Consistency Models Co-chairs: Sela Mador-Haim, Jade Alglave Monday July 9 - INVITED TUTORIALS 8:30 - 10:00: "Synthesizing Programs with Constraint Solvers" (Ras Bodik and Emina Torlak) 10:00 - 10:30: Break 10:30 - 12:00: "IC3 and Beyond: Incremental, Inductive Verification" (Aaron Bradley) 12:00 - 1:30: Break 1:30 - 3:00: "Formal Verification of Genetic Circuits" (Chris Myers) 3:00 - 3:30: Break 3:30 - 5:00: "From C to infinity and back: Unbounded auto-active verification with VCC" (Michal Moskal) Tuesday July 10 8:30 - 9:00: Welcome 9:00 - 10:00: "Synthesis and Some of Its Challenges" (Wolfgang Thomas - Keynote) 10:00 - 10:30: Break 10:30 - 12:00: AUTOMATA AND SYNTHESIS R1 Jan Kretinsky and Javier Esparza "Deterministic Automata for the (F,G)-fragment of LTL" R2 To