English
Related papers

Related papers: Hardware/Software Co-verification Using Path-based…

200 papers

The design of Systems on Chips (SoCs) is becoming more and more complex due to technological advancements. Missed bugs can cause drastic failures in safety-critical environments leading to the endangerment of lives. To overcome these…

Hardware Architecture · Computer Science 2024-10-25 Bryan Olmos , Daniel Gerl , Aman Kumar , Djones Lettnin

Symbolic execution is a successful and very popular technique used in software verification and testing. A key limitation of symbolic execution is in dealing with code containing loops. The problem is that even a single loop can generate a…

Programming Languages · Computer Science 2011-07-08 Jan Obdrzalek , Marek Trtik

Currently, many verification algorithms are available to improve the reliability of software systems. Selecting the appropriate verification algorithm typically demands domain expertise and non-trivial manpower. An automated algorithm…

Software Engineering · Computer Science 2025-05-26 Jie Su , Liansai Deng , Cheng Wen , Rong Wang , Zhi Ma , Nan Zhang , Cong Tian , Zhenhua Duan , Shengchao Qin

We present an SMT-based symbolic model checking algorithm for safety verification of recursive programs. The algorithm is modular and analyzes procedures individually. Unlike other SMT-based approaches, it maintains both "over-" and…

Logic in Computer Science · Computer Science 2014-05-27 Anvesh Komuravelli , Arie Gurfinkel , Sagar Chaki

Increasing system-on-chip (SoC) heterogeneity, deep hardware/software integration, and the proliferation of third-party intellectual property (IP) have brought security validation to the forefront of semiconductor design. While simulation…

Cryptography and Security · Computer Science 2026-04-17 Tanvir Rahman , Shuvagata Saha , Ahmed Y. Alhurubi , Sujan Kumar Saha , Farimah Farahmandi , Mark Tehranipoor

Firmware serves as the critical interface between hardware and software in computing systems, making any bugs or vulnerabilities particularly dangerous as they can cause catastrophic system failures. While fuzzing is a promising approach…

Cryptography and Security · Computer Science 2026-02-03 Dakshina Tharindu , Aruna Jayasena , Prabhat Mishra

Symbolic execution is a powerful technique for bug finding and program testing. It is successful in finding bugs in real-world code. The core reasoning techniques use constraint solving, path exploration, and search, which are also the same…

Software Engineering · Computer Science 2020-07-20 Sahil Verma , Roland H. C. Yap

Performance increase with general-purpose processors has come to a halt. We can no longer depend on Moore's Law to increase computing performance. The only way to achieve higher performance or lower energy consumption is by building…

We present a novel approach, which is based on multiple-valued logic (MVL), to the verification and analysis of digital hardware designs, which extends the common ternary or quaternary approaches for simulations. The simulations which are…

Logic in Computer Science · Computer Science 2015-08-17 Amnon Rosenmann

Propositional bounded model checking has been applied successfully to verify embedded software but is limited by the increasing propositional formula size and the loss of structure during the translation. These limitations can be reduced by…

Software Engineering · Computer Science 2009-07-14 Lucas Cordeiro , Bernd Fischer , Joao Marques-Silva

Symbolic execution is a powerful program analysis technique that allows for the systematic exploration of all program paths. Path explosion, where the number of states to track becomes unwieldy, is one of the biggest challenges hindering…

Cryptography and Security · Computer Science 2025-08-12 Joshua Bailey , Charles Nicholas

Particle-in-cell methods with stochastic collision models are commonly used to simulate collisional plasma dynamics, with applications ranging from hypersonic flight to semiconductor manufacturing. Code verification of such methods is…

Computational Physics · Physics 2026-05-26 Brian A. Freno , William J. McDoniel , Christopher H. Moore , Neil R. Matula

We propose a symbolic execution method for programs that can draw random samples. In contrast to existing work, our method can verify randomized programs with unknown inputs and can prove probabilistic properties that universally quantify…

Programming Languages · Computer Science 2022-09-19 Zachary Susag , Sumit Lahiri , Justin Hsu , Subhajit Roy

FPGAs have become a popular choice for deploying deep learning architectures (DLA). There are many researchers that have explored the deployment and mapping of DLA on FPGA. However, there has been a growing need to do design-time…

Machine Learning · Computer Science 2019-11-15 Tolulope A. Odetola , Katie M. Groves , Syed Rafay Hasan

As a general trend in industrial robotics, an increasing number of safety functions are being developed or re-engineered to be handled in software rather than by physical hardware such as safety relays or interlock circuits. This trend…

Robotics · Computer Science 2022-01-28 Yvonne Murray , Martin Sirevåg , Pedro Ribeiro , David A. Anisi , Morten Mossige

With the complexity of Integrated Circuits increasing, design verification has become the most time consuming part of the ASIC design flow. Nearly 70% of the SoC design cycle is consumed by verification. The most commonly used approach to…

Machine Learning · Computer Science 2020-12-07 B. Samhita Varambally , Naman Sehgal

Memory corruption is a serious class of software vulnerabilities, which requires careful attention to be detected and removed from applications before getting exploited and harming the system users. Symbolic execution is a well-known method…

Cryptography and Security · Computer Science 2025-09-16 Sara Baradaran , Mahdi Heidari , Ali Kamali , Maryam Mouzarani

Many types of formal verification establish properties about abstract high-level program representations, leaving a large gap to programs at runtime. Although gaps can sometimes be narrowed by techniques such as refinement, a verified…

Logic in Computer Science · Computer Science 2025-03-19 Karl Palmskog , Andreas Lindner , Scott Constable , Roberto Guanciale , Hamed Nemati

We present an alternative approach to solve the hardware (HW) and software (SW) partitioning problem, which uses Bounded Model Checking (BMC) based on Satisfiability Modulo Theories (SMT) in conjunction with a multi-core support using Open…

Logic in Computer Science · Computer Science 2015-09-09 Alessandro Trindade , Hussama Ismail , Lucas Cordeiro

Typically, a practical algorithm of hardware verification obtains a semantic result by being applied to a particular formula $F$. That is, although this algorithm uses the specifics of $F$ (sometimes inadvertently), its result holds for all…

Logic in Computer Science · Computer Science 2026-05-13 Eugene Goldberg