Formal verification of kLIBC with the WP frama-C plug-in
Main Author: | |
---|---|
Publication Date: | 2014 |
Other Authors: | , , |
Language: | eng |
Source: | Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
Download full: | http://hdl.handle.net/1822/35224 |
Summary: | This paper presents our results in the formal verification of kLIBC, a minimalistic C library, using the Frama-C/WP tool. We report how we were able to completely verify a significant number of functions from <string.h> and <stdio.h>. We discuss difficulties encountered and describe in detail a problem in the implementation of common <string.h> functions, for which we suggest alternative implementations. Our work shows that it is presently already viable to verify low-level C code, with heavy usage of pointers. Although the properties proved tend to be shallower as the code becomes of a lower-level nature, it is our view that this is an important direction towards real-world software verification, which cannot be attained by focusing on deep properties of cleaner code, written specifically to be verified. |
id |
RCAP_4db6517ecc6e9ee5d0f3acb3f0b0f34f |
---|---|
oai_identifier_str |
oai:repositorium.sdum.uminho.pt:1822/35224 |
network_acronym_str |
RCAP |
network_name_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
repository_id_str |
https://opendoar.ac.uk/repository/7160 |
spelling |
Formal verification of kLIBC with the WP frama-C plug-inDeductive VerificationFrama-CC librariesCiências Naturais::Ciências da Computação e da InformaçãoEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaThis paper presents our results in the formal verification of kLIBC, a minimalistic C library, using the Frama-C/WP tool. We report how we were able to completely verify a significant number of functions from <string.h> and <stdio.h>. We discuss difficulties encountered and describe in detail a problem in the implementation of common <string.h> functions, for which we suggest alternative implementations. Our work shows that it is presently already viable to verify low-level C code, with heavy usage of pointers. Although the properties proved tend to be shallower as the code becomes of a lower-level nature, it is our view that this is an important direction towards real-world software verification, which cannot be attained by focusing on deep properties of cleaner code, written specifically to be verified.This work is funded by ERDF - European Regional Development Fund through the COMPETE Programme (operational programme for competitiveness) and by National Funds through the FCT - Fundação para a Ciência e a Tecnologia (Portuguese Foundation for Science and Technology) within project FCOMP-01-0124-FEDER-020486.SpringerUniversidade do MinhoCarvalho, NunoSousa, Cristiano da SilvaPinto, Jorge SousaTomb, Aaron20142014-01-01T00:00:00Zconference paperinfo:eu-repo/semantics/publishedVersionapplication/pdfhttp://hdl.handle.net/1822/35224engN. Carvalho, C. S. Sousa, J. S. Pinto, and A. Tomb. Formal Verification of kLIBC with the WP Frama-C plug-in. In Proceedings of the Sixth NASA Formal Methods Symposium (NFM 2014), volume 8430 of Lecture Notes in Computer Science, pages 343–358, Berlin, Heidelberg, 2014. Springer-Verlag.978-3-319-06199-30302-974310.1007/978-3-319-06200-6_29The original publication is available at www.springerlink.cominfo:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2024-05-11T05:14:25Zoai:repositorium.sdum.uminho.pt:1822/35224Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T15:12:02.486150Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse |
dc.title.none.fl_str_mv |
Formal verification of kLIBC with the WP frama-C plug-in |
title |
Formal verification of kLIBC with the WP frama-C plug-in |
spellingShingle |
Formal verification of kLIBC with the WP frama-C plug-in Carvalho, Nuno Deductive Verification Frama-C C libraries Ciências Naturais::Ciências da Computação e da Informação Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
title_short |
Formal verification of kLIBC with the WP frama-C plug-in |
title_full |
Formal verification of kLIBC with the WP frama-C plug-in |
title_fullStr |
Formal verification of kLIBC with the WP frama-C plug-in |
title_full_unstemmed |
Formal verification of kLIBC with the WP frama-C plug-in |
title_sort |
Formal verification of kLIBC with the WP frama-C plug-in |
author |
Carvalho, Nuno |
author_facet |
Carvalho, Nuno Sousa, Cristiano da Silva Pinto, Jorge Sousa Tomb, Aaron |
author_role |
author |
author2 |
Sousa, Cristiano da Silva Pinto, Jorge Sousa Tomb, Aaron |
author2_role |
author author author |
dc.contributor.none.fl_str_mv |
Universidade do Minho |
dc.contributor.author.fl_str_mv |
Carvalho, Nuno Sousa, Cristiano da Silva Pinto, Jorge Sousa Tomb, Aaron |
dc.subject.por.fl_str_mv |
Deductive Verification Frama-C C libraries Ciências Naturais::Ciências da Computação e da Informação Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
topic |
Deductive Verification Frama-C C libraries Ciências Naturais::Ciências da Computação e da Informação Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
description |
This paper presents our results in the formal verification of kLIBC, a minimalistic C library, using the Frama-C/WP tool. We report how we were able to completely verify a significant number of functions from <string.h> and <stdio.h>. We discuss difficulties encountered and describe in detail a problem in the implementation of common <string.h> functions, for which we suggest alternative implementations. Our work shows that it is presently already viable to verify low-level C code, with heavy usage of pointers. Although the properties proved tend to be shallower as the code becomes of a lower-level nature, it is our view that this is an important direction towards real-world software verification, which cannot be attained by focusing on deep properties of cleaner code, written specifically to be verified. |
publishDate |
2014 |
dc.date.none.fl_str_mv |
2014 2014-01-01T00:00:00Z |
dc.type.driver.fl_str_mv |
conference paper |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/1822/35224 |
url |
http://hdl.handle.net/1822/35224 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.relation.none.fl_str_mv |
N. Carvalho, C. S. Sousa, J. S. Pinto, and A. Tomb. Formal Verification of kLIBC with the WP Frama-C plug-in. In Proceedings of the Sixth NASA Formal Methods Symposium (NFM 2014), volume 8430 of Lecture Notes in Computer Science, pages 343–358, Berlin, Heidelberg, 2014. Springer-Verlag. 978-3-319-06199-3 0302-9743 10.1007/978-3-319-06200-6_29 The original publication is available at www.springerlink.com |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.publisher.none.fl_str_mv |
Springer |
publisher.none.fl_str_mv |
Springer |
dc.source.none.fl_str_mv |
reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia instacron:RCAAP |
instname_str |
FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
collection |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) |
repository.name.fl_str_mv |
Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia |
repository.mail.fl_str_mv |
info@rcaap.pt |
_version_ |
1833595163139637249 |