Filters








29 Hits in 2.5 sec

An Assertional Proof of the Stability and Correctness of Natural Mergesort

K. Rustan M. Leino, Paqui Lucio
2015 ACM Transactions on Computational Logic  
We present a mechanically verified implementation of the sorting algorithm commonly known as Natural Mergesort.  ...  Along the paper we provide -and explain-the complete text of the program-proof.  ...  Acknoledgments We are very grateful to Jean-Christophe Filliâtre for many valuable comments on a previous draft of this paper.  ... 
doi:10.1145/2814571 fatcat:wriehlpxhvahhju3zcypnduoma

Inferring Termination Conditions for Logic Programs Using Backwards Analysis [chapter]

Samir Genaim, Michael Codish
2001 Lecture Notes in Computer Science  
This paper focuses on the inference of modes for which a logic program is guaranteed to terminate.  ...  The contribution is a methodology which combines traditional termination analysis and backwards analysis to obtain termination inference.  ...  . , b n with an assertion µ ∈ Pos at the left of the body.  ... 
doi:10.1007/3-540-45653-8_47 fatcat:pdhmkkucizfldabcqn3vahcjwi

The suitability of kinesthetic learning activities for teaching distributed algorithms

Paolo A. G. Sivilotti, Scott M. Pike
2007 Proceedinds of the 38th SIGCSE technical symposium on Computer science education - SIGCSE '07  
In particular, courses on distributed computing, by the very nature of the material they cover, are uniquely suited to exploiting this learning technique.  ...  We give detailed descriptions of these exercises and discuss factors that contribute to their success.  ...  Students can be guided through the careful assertional proof of this claim based on the proper invariant (that the array is a permutation of the original) and metric. Learning Objective 2.  ... 
doi:10.1145/1227310.1227438 dblp:conf/sigcse/SivilottiP07 fatcat:jcshngkefzegndubi4p7opokwa

The suitability of kinesthetic learning activities for teaching distributed algorithms

Paolo A. G. Sivilotti, Scott M. Pike
2007 ACM SIGCSE Bulletin  
In particular, courses on distributed computing, by the very nature of the material they cover, are uniquely suited to exploiting this learning technique.  ...  We give detailed descriptions of these exercises and discuss factors that contribute to their success.  ...  Students can be guided through the careful assertional proof of this claim based on the proper invariant (that the array is a permutation of the original) and metric. Learning Objective 2.  ... 
doi:10.1145/1227504.1227438 fatcat:27fzac76izf5rktln4ov4pu4du

A collection of kinesthetic learning activities for a course on distributed computing

Paolo A. G. Sivilotti, Scott M. Pike
2007 ACM SIGACT News  
Both of these templates naturally promote an awareness of concurrency (since participants can be simultaneously active) and locality (since cognitive and physical constraints limit how much a single participant  ...  An abridged version of this paper, conaining a subset of the the KLAs described here, appeared at SIGCSE 2007[SP07].  ...  Of course, one example execution is not a proof of stability, but the example can serve as a motivating basis for proving the assertion formally by induction. Learning Objective 2.  ... 
doi:10.1145/1272729.1272741 fatcat:lvrqqah4xfb3th7bo7agz4lerq

A general limit theorem for recursive algorithms and combinatorial structures

Ludger R�schendorf, Ralph Neininger
2004 The Annals of Applied Probability  
As applications we derive quite automatically many asymptotic limit results ranging from the size of tries or m-ary search trees and path lengths in digital structures to mergesort and parameters of random  ...  first and second moments of the sequence.  ...  We thank Hsien-Kuei Hwang for pointing out some of the applications in Section 5. The referee's comments are very much appreciated.  ... 
doi:10.1214/aoap/1075828056 fatcat:ug7ixpmlwfgcfk4cfmt7gos7ha

Continuity analysis of programs

Swarat Chaudhuri, Sumit Gulwani, Roberto Lublinerman
2010 Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '10  
Our proof rules identify appropriate "synchronization points" between executions and their perturbed counterparts, and establish that values of certain variables converge back to the original results in  ...  The analysis can be used to verify the robustness of programs whose inputs can have small amounts of error and uncertaintye.g., embedded controllers processing slightly unreliable sensor data, or handheld  ...  of continuity for this abstraction implies a proof of continuity of the algorithm with a correct, deterministic implementation of tie-breaking.  ... 
doi:10.1145/1706299.1706308 dblp:conf/popl/ChaudhuriGL10 fatcat:2dm66k6vpjglbcnsok63cwh4xq

Continuity analysis of programs

Swarat Chaudhuri, Sumit Gulwani, Roberto Lublinerman
2010 SIGPLAN notices  
Our proof rules identify appropriate "synchronization points" between executions and their perturbed counterparts, and establish that values of certain variables converge back to the original results in  ...  The analysis can be used to verify the robustness of programs whose inputs can have small amounts of error and uncertaintye.g., embedded controllers processing slightly unreliable sensor data, or handheld  ...  of continuity for this abstraction implies a proof of continuity of the algorithm with a correct, deterministic implementation of tie-breaking.  ... 
doi:10.1145/1707801.1706308 fatcat:6atnk6elzrelrd5ueh3hvvmubm

A Fistful of Dollars: Formalizing Asymptotic Complexity Claims via Deductive Program Verification [chapter]

Armaël Guéneau, Arthur Charguéraud, François Pottier
2018 Lecture Notes in Computer Science  
We build on top of Separation Logic with Time Credits, embedded in an interactive proof assistant. We formalize the O notation, which is key to enabling modular specifications and proofs.  ...  We present a framework for simultaneously verifying the functional correctness and the worst-case asymptotic time complexity of higher-order imperative programs.  ...  Logic proof of the correctness of this code.  ... 
doi:10.1007/978-3-319-89884-1_19 fatcat:6hercwnspngkjddzf47upuhoue

Proving programs robust

Swarat Chaudhuri, Sumit Gulwani, Roberto Lublinerman, Sara Navidpour
2011 Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering - SIGSOFT/FSE '11  
Our problem is to verify the robustness of a function P that is coded as an imperative program, and can use diverse data types and features such as branches and loops.  ...  The outcome is a sound program analysis for robustness that uses proof obligations which do not refer to -changes and can often be fully automated using off-the-shelf SMT-solvers.  ...  Consider a correct implementation P of a sorting algorithm that takes in an array Ain of reals, and returns a sorted array Aout.  ... 
doi:10.1145/2025113.2025131 dblp:conf/sigsoft/ChaudhuriGLN11 fatcat:lwgatugh5bddzpy3z2er7qathe

Verifying OpenJDK's Sort Method for Generic Collections

Stijn de Gouw, Frank S. de Boer, Richard Bubel, Reiner Hähnle, Jurriaan Rot, Dominic Steinhöfel
2017 Journal of automated reasoning  
The complexity of the proofs required extensions and new capabilities in KeY, including symbolic state merging.  ...  This verification is carried out mechanically with KeY, a state-of-the-art interactive verification tool for Java. We provide a detailed description and analysis of the proofs.  ...  , and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.  ... 
doi:10.1007/s10817-017-9426-4 pmid:30930511 pmcid:PMC6404383 fatcat:xsxuurrcpzfdxi7w7zzqgiec3q

Inferring non-suspension conditions for logic programs with dynamic scheduling

Samir Genaim, Andy King
2008 ACM Transactions on Computational Logic  
Suspending sub-goals are usually unintended and often indicate an error in the logic or the control.  ...  A logic program consists of a logic component and a control component. The former is a specification in predicate logic whereas the latter defines the order of sub-goal selection.  ...  We thank Jacob Howe and Fred Mesnard for their valuable comments on an earlier version [Genaim and King 2003 ] of this work.  ... 
doi:10.1145/1352582.1352585 fatcat:ag6izkviijhxbfz37sygdynb5a

Beyond the Worst-Case Analysis of Algorithms (Introduction) [article]

Tim Roughgarden
2020 arXiv   pre-print
Strong worst-case guarantees are the holy grail of algorithm design, providing an application-agnostic certification of an algorithm's robustly good performance.  ...  Worst-case analysis summarizes the performance profile of an algorithm by its worst performance on any input of a given size, implicitly advocating for the algorithm with the best-possible worst-case performance  ...  The competitive analysis of online algorithms (Section 2.4) was pioneered by Sleator and Tarjan (1985) . Bélády's algorithm (Section 2.4) appears in Bélády (1967) .  ... 
arXiv:2007.13241v1 fatcat:r2wvbku4xnhudkxauco5ccstiy

Effectful Programming in Declarative Languages with an Emphasis on Non-Determinism: Applications and Formal Reasoning [article]

Sandra Dylus
2020 arXiv   pre-print
The key idea of these implementations is to exploit the interplay of non-determinism and non-strictness that Curry employs.  ...  In both cases we observe that the combination of non-determinism and non-strictness has advantages over an implementation using lists to model non-determinism.  ...  a -> Bool) -> [a] -> [a] mergeSort _ [] = [] mergeSort _ [x] = [x] mergeSort p l@(_ : (_ : _)) = let (l1,l2) = divideN l in merge p (mergeSort p l1) (mergeSort p l2) Once again we take a look at an exemplary  ... 
arXiv:2006.01531v1 fatcat:s7nl4qdd5veo7fv64cpg3buvwm

CoSaMP: Iterative signal recovery from incomplete and inaccurate samples [article]

D. Needell, J. A. Tropp
2008 arXiv   pre-print
For many cases of interest, the running time is just O(N*log^2(N)), where N is the length of the signal.  ...  Moreover, this algorithm offers rigorous bounds on computational cost and storage.  ...  He is ultimately responsible for many of the ideas in the algorithm and analysis. We would also like to thank Roman Vershynin for suggestions that drastically simplified the proofs.  ... 
arXiv:0803.2392v2 fatcat:io6gkvx5rzemzdejp4s2gkaqnq
« Previous Showing results 1 — 15 out of 29 results