Skip to content
Free planNo credit card requiredStart writing

Search 250 million research papers

Read the abstract, see who wrote it and who cites it, and get the citation in APA, MLA, Chicago or Harvard.

About 10,000 papers for “Software verification”

Software verification

Geri, Joseph Y. · CSUN ScholarWorks (California State University, Northridge) · 2014

A software product that does not perform as intended can cause serious damages.One of the methods to assure that it does indeed work as desired is by applying formal verification techniques to the software development process.Software verification is examined in terms of its progress to date, its potential for further progress, and in light of closely related issues.future implementations are explored.'" v Directions for OBJECTIVESThis thesis is a computer science research project that analyzes the field of software verification.The main objective is to explore the field's advancements, problems, and needs, and to establish the best approach to be undertaken in the upcoming developments in the field of software verification.I hope that through these explorations, my thesis will help direct the resources invested in the verification field to the most succes.sfulroad, where efforts will be most fruitful.

Cited by 0Open access

Software Verification

Christakis, Maria, Polikarpova, Nadia, Duggirala, Parasara Sridhar et al. · Lecture notes in computer science · 2020

Cited by 4

Software Verification

Daniel Kroening · Frontiers in artificial intelligence and applications · 2009

This chapter covers an application of propositional satisfiability to program analysis. We focus on the discovery of programming flaws in low-level programs, such as embedded software. The loops in the program are unwound together with a property to form a formula, which is then converted into CNF. The method supports low-level programming constructs such as bit-wise operators or pointer arithmetic.

Cited by 1

Mechanical Software Verification

Wolfgang Goerigk · Electronic Notes in Theoretical Computer Science · 2001

We present lessons learned from using mechanical theorem proving for proof support in software verification, with trusted execution of programs in mind. We will use two realistic running examples, compiler verification, which is central if we want to prove that we can trust a piece of executable software, and an industrial project in which we proved the correctness of a safety critical expert system using (verified) runtime result verification. We will emphasize the role of partial program correctness and its preservation. And we will comment on high level control aspects, in particular on what we can and what we will not be able to prove for a concrete piece of executable software.

Cited by 0Open access

FEM3DD SOFTWARE VERIFICATION

SANCHEZ-CABALLERO Samuel, SELLÉS Miguel Angel, PEYDRO Miguel Angel et al. · SHILAP Revista de lepidopterología · 2013

Cited by 0Open access

Software/Program Verification

2008

Using the Process Algebra µCRL Recent work has looked at how Erlang programs could be modelchecked via translation into the process algebra µCRL. Rules for translating Erlang programs and OTP components into µCRL have been defined and investigated. However, in the existing work, no rule is defined for the translation of timeout events into µCRL. This could degrade the usability of the existing work as in some real applications, timeout events play a significant role in the system development. In this paper, by extending the existing work, we investigate the verification of timed Erlang/OTP components in µCRL. By using an explicit tick action in the µCRL specification, a discrete-time timing model is defined to support the translation of timed Erlang functions into µCRL. Two small examples are presented, which demonstrates the applications of the proposed approach.

Cited by 0

Parameterized software verification

Rupak Majumdar, Michael Emmi · 2010

Software model checking is one approach to ensuring computer system reliability, though its practical applications have been limited to either small toy systems or shallow correctness criteria (e.g., null-pointer dereference freedom). To cope with real systems with an unbounded amount of objects (e.g., processes, memory locations), and complex temporal specifications (e.g., trace serializability), analyses incorporating a thus far un-obtained balance of precision and scalability must be sought; indeed the usual abstractions used in existing tools (e.g., SLAM, BLAST) do not suffice. Here we seek to achieve the balance by using software abstractions that precisely model implementation details for a small number of representative software objects. We perform precise propositional reasoning between few representative objects involved in each system interaction to discharge quantified first-order candidate invariants in the deductive verification framework. These abstractions enable the first ever automatic proofs of program properties such as reference counting memory safety for virtual memory and file systems, and strict serializability for transactional memory managers, for an arbitrary number of processes and memory locations.

Cited by 0

Formal Software Verification

Stomp, Frank · The Mathematics Enthusiast · 2009

In this talk I will give a brief overview of the area of Formal Software Verification. Basically, in this area one mathematically verifies that a program satisfies its specification (requirements). Thus, formal verification ensures that code is correct. Since verification is carried out on a model of the original code, this may reduce errors in an actual software product. Except for verification, I will also mention structuring principles, and some of my current research projects.

Cited by 0

Cooperative Software Verification

Haltermann, Jan Frederik · Carl von Ossiezky University of Oldenburg · 2025

Software plays an important role in our daily lives. To ensure that a program fulfills specific requirements, software verification is used. Cooperative software verification aims to combine the strengths of existing components on a conceptual level so that they work together in a loosely coupled manner to solve a task. This thesis presents a systematic analysis of the effects of using cooperative software verification. We develop and evaluate three concepts for cooperative software verification: The sequential concept, CoVEGI, allows components to cooperate on invariant generation, a core task in software verification. The cyclic concept is based on a decomposition of the widely used CEGAR scheme. In the decomposed version, C-CEGAR, three stateless components cooperate via existing verification artifacts. Finally, we propose the concept of ranged program analysis, which enables the parallel composition of arbitrary verifiers. We experimentally demonstrate the advantages of cooperative verification for each of the three approaches.

Cited by 0

Software Regression Verification

Ofer Strichman · 2013

Abstract : The objective of this research effort was to study and develop a formal methodology for conducting automated or semiautomated software regression testing. To that end, we have developed and extended a regression verification tool (RVT) in various ways, which together improved tremendously its functionality, robustness and completeness. Recall that the main problem that RVT addresses is that of deciding whether two similar programs are equivalent under an arbitrary yet equal context, given some definition of equivalence. More precisely, given a (possibly partial) mapping between the functions of the two programs, the problem is to show which of them are equivalent in an arbitrary context. The basic definition of equivalence that we support is called partial equivalence, which means that two programs emit equal outputs given the same inputs, or at least one of them does not terminate. For most useful definitions of equivalence this problem is undecidable, as is the problem of partial correctness (what most people refer to as general program verification) in general.

Cited by 0

Verification of Software

Hermann Kopetz · 1976

At the beginning of every software development some concepts of what the system should do are formulated. The verification of the software package produced constitutes confirmation that these concepts are in fact fulfilled.

Cited by 0