Filters








115,641 Hits in 7.2 sec

Verifying programs via iterated specialization

Emanuele De Angelis, Fabio Fioravanti, Alberto Pettorossi, Maurizio Proietti
2013 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation - PEPM '13  
Due to the undecidability of program safety, the iterated specialization process may not terminate.  ...  We present a method for verifying properties of imperative programs by using techniques based on the specialization of constraint logic programs (CLP).  ...  Thus, the effect of iterated specialization is the propagation of these constraints from one program version to the next, and iterated specialization terminates when a program with finite least model is  ... 
doi:10.1145/2426890.2426899 dblp:conf/pepm/AngelisFPP13 fatcat:nt5ynrtqczda7jhlrmmp6zqpdu

Verifying C++ with STL containers via predicate abstraction

Nicolas Blanc, Alex Groce, Daniel Kroening
2007 Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering - ASE '07  
This paper describes a flexible and easily extensible predicate abstraction-based approach to the verification of STL usage, and observes the advantages of verifying programs in terms of high-level data  ...  We verify the version of MiniSat which uses the vector class provided by the STL.  ...  (without partial specialization).  ... 
doi:10.1145/1321631.1321724 dblp:conf/kbse/BlancGK07 fatcat:pwq5w76qtzapra2gyem4pmskpu

Program verification via iterated specialization

E. De Angelis, F. Fioravanti, A. Pettorossi, M. Proietti
2014 Science of Computer Programming  
(i) The adaptation and the integration of various techniques for specializing and transforming constraint logic programs into the novel iterated specialization method for verifying imperative programs.  ...  We present a method for verifying properties of imperative programs by using techniques based on the specialization of constraint logic programs (CLP).  ...  Indeed, the generalization operators using convex hull can verify 104 programs at the first iteration, while operators not using convex hull can verify 74 programs only.  ... 
doi:10.1016/j.scico.2014.05.017 fatcat:5th77b243fdhdpcwvoyhtuzmp4

A Modular Way to Reason About Iteration [chapter]

Jean-Christophe Filliâtre, Mário Pereira
2016 Lecture Notes in Computer Science  
In this paper we present an approach to specify programs performing iterations. The idea is to specify iteration in terms of the finite sequence of the elements enumerated so far, and only those.  ...  For each paradigm, we verify several implementations of iterators and client code. This is done in a modular way, i.e., the client code only relies on the specification of the iteration.  ...  When it comes to verifying the correctness of a program, we need tools to reason about iteration.  ... 
doi:10.1007/978-3-319-40648-0_24 fatcat:ezjuwb7sjzgzxpb7gbkkb4luqu

Verification of Programs by Combining Iterated Specialization with Interpolation

Emanuele De Angelis, Fabio Fioravanti, Jorge A. Navas, Maurizio Proietti
2014 Electronic Proceedings in Theoretical Computer Science  
We present a verification technique for program safety that combines Iterated Specialization and Interpolating Horn Clause Solving.  ...  The Iterated Specialization verifier transforms an initial set of verification conditions by using unfold/fold equivalence preserving transformation rules.  ...  Verification based on Iterated Specialization and Interpolation In order to show how our verification method based on iterated specialization and interpolation works, let us consider again the program  ... 
doi:10.4204/eptcs.169.3 fatcat:quhoibxm6rdxflppfc4jpfkpua

Dynamic verification of C++ generic algorithms

Changqing Wang, D.R. Musser
1997 IEEE Transactions on Software Engineering  
For formal verification we also need to generate multiple program execution paths and use assertions (to handle while loops, for example), but we show how this can be achieved via directives to a conventional  ...  debugger program and an analysis database.  ...  To allow a generic algorithm to be dynamically verified, we need to construct special data types that possess the following properties: • they can be used during compilation like normal data types to replace  ... 
doi:10.1109/32.588523 fatcat:rvfvabqn55aephodr74btdqwe4

Ghost Signals: Verifying Termination of Busy Waiting [chapter]

Tobias Reinhard, Bart Jacobs
2021 Lecture Notes in Computer Science  
We propose the first separation logic for modularly verifying termination of such programs under fair scheduling.  ...  be verified.  ...  When verifying termination, VeriFast consumes a call permission at each recursive call or loop iteration.  ... 
doi:10.1007/978-3-030-81688-9_2 fatcat:3b5gs66utjhvpnxrwcpqxhdylm

Generic Programming and High-Performance Libraries

Douglas Gregor, Jaakko Järvi, Mayuresh Kulkarni, Andrew Lumsdaine, David Musser, Sibylle Schupp
2005 International journal of parallel programming  
To realize this goal however, programming languages and their associated tools must support concepts as first-class constructs.  ...  Generic programming is an especially attractive paradigm for developing libraries for high-performance computing because it simultaneously emphasizes generality and efficiency.  ...  Concept-based overloading has enjoyed more success in C++, both via the widely-used method of tag dispatching [12] and via arbitrary overloading [18] .  ... 
doi:10.1007/s10766-005-3580-8 fatcat:6ioax32w3jhmtffcs5e3qxzupe

STLlint: lifting static checking from languages to libraries

Douglas Gregor, Sibylle Schupp
2006 Software, Practice & Experience  
Traditional static checking centers around finding bugs in programs by isolating cases where the language has been used incorrectly.  ...  We show that static checking of library semantics differs greatly from checking of language semantics, requiring new representations of program behavior and new algorithms.  ...  call that operates on iter via a pointer and erase is a function call that returns a new value for iter that is later copied into iter via a copy constructor, which again operates on iter via a pointer  ... 
doi:10.1002/spe.683 fatcat:k6id2jcyyjdsthyrycyjj5ifre

Verifying Programs via Intermediate Interpretation [article]

Alexei P. Lisitsa, Andrei P. Nemytykh
2017 arXiv   pre-print
Angelis et al. (2014-2015) where verification via program transformation and intermediate interpretation was studied in the context of specialization of constraint logic programs.  ...  We explore an approach to verification of programs via program transformation applied to an interpreter of a programming language.  ...  In general the method may perform a number of program specializations 9 , but all the cache coherence protocol program models that we have tried to verify by supercompiler SCP4 require at most two specializations  ... 
arXiv:1705.06738v1 fatcat:gtggvmyjyjhrlh4bmekz27nmhm

Practical automatic loop specialization

Taewook Oh, Hanjun Kim, Nick P. Johnson, Jae W. Lee, David I. August
2013 Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systems - ASPLOS '13  
In many applications, a program input induces predictable patterns of values across loop iterations, yet existing specializers cannot fully capitalize on this opportunity.  ...  Program specialization optimizes a program with respect to program invariants, including known, fixed inputs. These invariants can be used to enable optimizations that are otherwise unsound.  ...  Lee was partly supported by the Korean IT R&D program of MKE/KEIT KI001810041244.  ... 
doi:10.1145/2451116.2451161 dblp:conf/asplos/OhKJLA13 fatcat:6s6vrk47dbbnpi3m5x6ykpt2y4

Practical automatic loop specialization

Taewook Oh, Hanjun Kim, Nick P. Johnson, Jae W. Lee, David I. August
2013 SIGPLAN notices  
In many applications, a program input induces predictable patterns of values across loop iterations, yet existing specializers cannot fully capitalize on this opportunity.  ...  Program specialization optimizes a program with respect to program invariants, including known, fixed inputs. These invariants can be used to enable optimizations that are otherwise unsound.  ...  Lee was partly supported by the Korean IT R&D program of MKE/KEIT KI001810041244.  ... 
doi:10.1145/2499368.2451161 fatcat:o2i4l5t5sfba5ieopoezti332e

Towards Automated Proof Support for Probabilistic Distributed Systems [chapter]

Annabelle K. McIver, Tjark Weber
2005 Lecture Notes in Computer Science  
We show that verification of real-valued properties in these systems can be considerably simplified, and moreover that there is an interpretation which is susceptible to counterexample search via state  ...  to the verification of real-valued properties that probability entails: experience indicates [12, 4, 11] that there are many difficulties in automating real-number arithmetic in the context of other program  ...  (Note that distributions contained in finite executions are a special case.) Lemma 1. Let P be a program in LS, and let S be finite.  ... 
doi:10.1007/11591191_37 fatcat:ehhm7ahxnzh6rl2pt56jdnfpaa

DSCMC: Distributed Stateless Code Model Checker [article]

Elaheh Ghassabani, Mohammad Abdollahi Azgomi
2016 arXiv   pre-print
This paper proposes a distributed stateless code model checker (DSCMC) designed based on the Actor model, and has the capability of verifying code written in different programming languages.  ...  This tool is implemented using Erlang, which is an actor-based programming language. DSCMC is able to detect deadlocks, livelocks, and data races automatically.  ...  In order to verify program P, each iteration of the stateless model checking (the SMC function) is equivalent to execute P under a special scheduler.  ... 
arXiv:1603.03536v1 fatcat:rlzy5ko6mragnh7fmnhhvldvnq

Page 5753 of Mathematical Reviews Vol. , Issue 97I [page]

1997 Mathematical Reviews  
programs with unreliable channels.  ...  (English summary) Special issue dedicated to Paris Christos Kanellakis. Inform. and Comput. 127 (1996), no. 2, 91-101.  ... 
« Previous Showing results 1 — 15 out of 115,641 results