Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Lucas C. Cordeiro is active.

Publication


Featured researches published by Lucas C. Cordeiro.


IEEE Transactions on Software Engineering | 2012

SMT-Based Bounded Model Checking for Embedded ANSI-C Software

Lucas C. Cordeiro; Bernd Fischer; Joao Marques-Silva

Propositional bounded model checking has been applied successfully to verify embedded software, but remains limited by increasing propositional formula sizes and the loss of high-level information during the translation preventing potential optimizations to reduce the state space to be explored. These limitations can be overcome by encoding high-level information in theories richer than propositional logic and using SMT solvers for the generated verification conditions. Here, we propose the application of different background theories and SMT solvers to the verification of embedded software written in ANSI-C in order to improve scalability and precision in a completely automatic way. We have modified and extended the encodings from previous SMT-based bounded model checkers to provide more accurate support for variables of finite bit width, bit-vector operations, arrays, structures, unions, and pointers. We have integrated the CVC3, Boolector, and Z3 solvers with the CBMC front-end and evaluated them using both standard software model checking benchmarks and typical embedded software applications from telecommunications, control systems, and medical devices. The experiments show that our ESBMC model checker can analyze larger problems than existing tools and substantially reduce the verification time.


international conference on software engineering | 2011

Verifying multi-threaded software using smt-based context-bounded model checking

Lucas C. Cordeiro; Bernd Fischer

We describe and evaluate three approaches to model check multi-threaded software with shared variables and locks using bounded model checking based on Satisfiability Modulo Theories (SMT) and our modelling of the synchronization primitives of the Pthread library. In the lazy approach, we generate all possible interleavings and call the SMT solver on each of them individually, until we either find a bug, or have systematically explored all interleavings. In the schedule recording approach, we encode all possible interleavings into one single formula and then exploit the high speed of the SMT solvers. In the underapproximation and widening approach, we reduce the state space by abstracting the number of interleavings from the proofs of unsatisfiability generated by the SMT solvers. In all three approaches, we bound the number of context switches allowed among threads in order to reduce the number of interleavings explored. We implemented these approaches in ESBMC, our SMT-based bounded model checker for ANSI-C programs. Our experiments show that ESBMC can analyze larger problems and substantially reduce the verification time compared to state-of-the-art techniques that use iterative context-bounding algorithms or counter-example guided abstraction refinement.


international conference on embedded software and systems | 2009

Semiformal Verification of Embedded Software in Medical Devices Considering Stringent Hardware Constraints

Lucas C. Cordeiro; Bernd Fischer; Huan Chen; Joao Marques-Silva

In recent days, the complexity of software has increased significantly in embedded products in such a way that the verification of Embedded Software (ESW) now plays an important role to ensure the products quality. Embedded systems engineers usually face the problems of verifying properties that have to meet the applications deadline, access the memory region, handle concurrency, and control the hardware registers. This work proposes a semiformal verification approach that combines dynamic and static verification to stress and cover exhaustively the state space of the system. We perform a case study on embedded software used in the medical devices domain. We conclude that the proposed approach improves the coverage and reduces substantially the verification time.


engineering of computer based systems | 2013

SMT-Based Bounded Model Checking of C++ Programs

Mikhail Ramalho; Mauro Freitas; Felipe Rodrigues Monteiro Sousa; Hendrio Marques; Lucas C. Cordeiro; Bernd Fischer

Bounded model checking of C++ programs presents greater challenges than that of C programs due to the more complex features that the language offers, such as templates, containers, and exception handling. We present ESBMC++, a bounded model checker for C++ programs. It is based on an operational model, an abstract representation of the standard C++ libraries that conservatively approximates their semantics. ESBMC++ uses this to encode the verification conditions using different background theories supported by an SMT solver. Our experimental results show that our approach can handle a wider range of the C++ constructs than existing approaches and substantially reduces the verification time.


International Journal on Software Tools for Technology Transfer | 2017

Handling loops in bounded model checking of C programs via k-induction

Mikhail Y. R. Gadelha; Hussama Ismail; Lucas C. Cordeiro

The first attempts to apply the k-induction method to software verification are only recent. In this paper, we present a novel proof by induction algorithm, which is built on the top of a symbolic context-bounded model checker and uses an iterative deepening approach to verify, for each step k up to a given maximum, whether a given safety property


international conference on software engineering | 2010

SMT-based bounded model checking for multi-threaded software in embedded systems

Lucas C. Cordeiro


tools and algorithms for construction and analysis of systems | 2013

Handling unbounded loops with ESBMC 1.20

Jeremy Morse; Lucas C. Cordeiro; Denis A. Nicole; Bernd Fischer

\phi


tools and algorithms for construction and analysis of systems | 2012

Context-Bounded model checking with ESBMC 1.17

Lucas C. Cordeiro; Jeremy Morse; Denis A. Nicole; Bernd Fischer


ACM Sigsoft Software Engineering Notes | 2008

An agile development methodology applied to embedded control software under stringent hardware constraints

Lucas C. Cordeiro; Carlos Mar; Eduardo Valentin; Fabiano Cruz; Daniel Patrick; Raimundo S. Barreto; Vicente Ferreira de Lucena

ϕ holds in the program. The proposed k-induction algorithm consists of three different cases, called base case, forward condition, and inductive step. Intuitively, in the base case, we aim to find a counterexample with up to k loop unwindings; in the forward condition, we check whether loops have been fully unrolled and that


international workshop on model checking software | 2015

DSVerifier: A Bounded Model Checking Tool for Digital Systems

Hussama Ismail; Iury Valente de Bessa; Lucas C. Cordeiro; Eddie Batista de Lima Filho; Joao Edgar Chaves Filho

Collaboration


Dive into the Lucas C. Cordeiro's collaboration.

Top Co-Authors

Avatar

Iury Valente de Bessa

Federal University of Amazonas

View shared research outputs
Top Co-Authors

Avatar

Raimundo S. Barreto

Federal University of Pernambuco

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Hussama Ismail

Federal University of Amazonas

View shared research outputs
Top Co-Authors

Avatar

Joao Edgar Chaves Filho

Federal University of Amazonas

View shared research outputs
Top Co-Authors

Avatar

Denis A. Nicole

University of Southampton

View shared research outputs
Top Co-Authors

Avatar

Herbert Rocha

Federal University of Amazonas

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Felipe R. Monteiro

Federal University of Amazonas

View shared research outputs
Researchain Logo
Decentralizing Knowledge