Loading…

A formal verification framework for static analysis: As well as its instantiation to the resource analyzer COSTA and formal verification tool KeY

Static analysis tools, such as resource analyzers, give useful information on software systems, especially in real-time and safety-critical applications. Therefore, the question of the reliability of the obtained results is highly important. State-of-the-art static analyzers typically combine a rang...

Full description

Saved in:
Bibliographic Details
Published in:Software and systems modeling 2016-10, Vol.15 (4), p.987-1012
Main Authors: Albert, Elvira, Bubel, Richard, Genaim, Samir, Hähnle, Reiner, Puebla, Germán, Román-Díez, Guillermo
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
cited_by
cites cdi_FETCH-LOGICAL-c216y-1cc09dab39078518834c21bfa94e6be65c2db4aaf1e4eb999b7a190e4fd9a0d23
container_end_page 1012
container_issue 4
container_start_page 987
container_title Software and systems modeling
container_volume 15
creator Albert, Elvira
Bubel, Richard
Genaim, Samir
Hähnle, Reiner
Puebla, Germán
Román-Díez, Guillermo
description Static analysis tools, such as resource analyzers, give useful information on software systems, especially in real-time and safety-critical applications. Therefore, the question of the reliability of the obtained results is highly important. State-of-the-art static analyzers typically combine a range of complex techniques, make use of external tools, and evolve quickly. To formally verify such systems is not a realistic option. In this work, we propose a different approach whereby, instead of the tools , we formally verify the results of the tools. The central idea of such a formal verification framework for static analysis is the method-wise translation of the information about a program gathered during its static analysis into specification contracts that contain enough information for them to be verified automatically. We instantiate this framework with costa , a state-of-the-art static analysis system for sequential Java programs, for producing resource guarantees and KeY, a state-of-the-art verification tool, for formally verifying the correctness of such resource guarantees. Resource guarantees allow to be certain that programs will run within the indicated amount of resources, which may refer to memory consumption, number of instructions executed, etc. Our results show that the proposed tool cooperation can be used for automatically producing verified resource guarantees.
doi_str_mv 10.1007/s10270-015-0476-y
format article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_1845815633</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>4189777541</sourcerecordid><originalsourceid>FETCH-LOGICAL-c216y-1cc09dab39078518834c21bfa94e6be65c2db4aaf1e4eb999b7a190e4fd9a0d23</originalsourceid><addsrcrecordid>eNp1kM1LxDAQxYMouKz7B3grePESnUnTtDkui1-w4EXPIU0TifZjTXaV_vemVEQETzPM-73h8Qg5R7hCgPI6IrASKGBBgZeCjkdkgQIlxbzkxz-7EKdkFaOvATiTkguxIPk6c0PodJt92OCdN3rvhz5zQXf2cwhvk5rFfbqaTPe6HaOPZ-TE6Tba1fdckufbm6fNPd0-3j1s1ltqGIqRojEgG13nEsqqwKrKeRJqpyW3oraiMKypudYOLbe1lLIuNUqw3DVSQ8PyJbmc_-7C8H6wca86H41tW93b4RAVVryosBB5ntCLP-jrcAgp70QxBjyFmCicKROGGIN1ahd8p8OoENTUpJqbVKlJNTWpxuRhsycmtn-x4dfnf01fnON1yQ</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>1822043903</pqid></control><display><type>article</type><title>A formal verification framework for static analysis: As well as its instantiation to the resource analyzer COSTA and formal verification tool KeY</title><source>Springer Link</source><creator>Albert, Elvira ; Bubel, Richard ; Genaim, Samir ; Hähnle, Reiner ; Puebla, Germán ; Román-Díez, Guillermo</creator><creatorcontrib>Albert, Elvira ; Bubel, Richard ; Genaim, Samir ; Hähnle, Reiner ; Puebla, Germán ; Román-Díez, Guillermo</creatorcontrib><description>Static analysis tools, such as resource analyzers, give useful information on software systems, especially in real-time and safety-critical applications. Therefore, the question of the reliability of the obtained results is highly important. State-of-the-art static analyzers typically combine a range of complex techniques, make use of external tools, and evolve quickly. To formally verify such systems is not a realistic option. In this work, we propose a different approach whereby, instead of the tools , we formally verify the results of the tools. The central idea of such a formal verification framework for static analysis is the method-wise translation of the information about a program gathered during its static analysis into specification contracts that contain enough information for them to be verified automatically. We instantiate this framework with costa , a state-of-the-art static analysis system for sequential Java programs, for producing resource guarantees and KeY, a state-of-the-art verification tool, for formally verifying the correctness of such resource guarantees. Resource guarantees allow to be certain that programs will run within the indicated amount of resources, which may refer to memory consumption, number of instructions executed, etc. Our results show that the proposed tool cooperation can be used for automatically producing verified resource guarantees.</description><identifier>ISSN: 1619-1366</identifier><identifier>EISSN: 1619-1374</identifier><identifier>DOI: 10.1007/s10270-015-0476-y</identifier><language>eng</language><publisher>Berlin/Heidelberg: Springer Berlin Heidelberg</publisher><subject>Analyzers ; Compilers ; Computer programs ; Computer Science ; Cost analysis ; Information Systems Applications (incl.Internet) ; Interpreters ; IT in Business ; Programming Languages ; Programming Techniques ; Software ; Software Engineering ; Software Engineering/Programming and Operating Systems ; State of the art ; Static code analysis ; Systems analysis ; Theme Section Paper ; Translations</subject><ispartof>Software and systems modeling, 2016-10, Vol.15 (4), p.987-1012</ispartof><rights>Springer-Verlag Berlin Heidelberg 2015</rights><rights>Springer-Verlag Berlin Heidelberg 2016</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><cites>FETCH-LOGICAL-c216y-1cc09dab39078518834c21bfa94e6be65c2db4aaf1e4eb999b7a190e4fd9a0d23</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,780,784,27924,27925</link.rule.ids></links><search><creatorcontrib>Albert, Elvira</creatorcontrib><creatorcontrib>Bubel, Richard</creatorcontrib><creatorcontrib>Genaim, Samir</creatorcontrib><creatorcontrib>Hähnle, Reiner</creatorcontrib><creatorcontrib>Puebla, Germán</creatorcontrib><creatorcontrib>Román-Díez, Guillermo</creatorcontrib><title>A formal verification framework for static analysis: As well as its instantiation to the resource analyzer COSTA and formal verification tool KeY</title><title>Software and systems modeling</title><addtitle>Softw Syst Model</addtitle><description>Static analysis tools, such as resource analyzers, give useful information on software systems, especially in real-time and safety-critical applications. Therefore, the question of the reliability of the obtained results is highly important. State-of-the-art static analyzers typically combine a range of complex techniques, make use of external tools, and evolve quickly. To formally verify such systems is not a realistic option. In this work, we propose a different approach whereby, instead of the tools , we formally verify the results of the tools. The central idea of such a formal verification framework for static analysis is the method-wise translation of the information about a program gathered during its static analysis into specification contracts that contain enough information for them to be verified automatically. We instantiate this framework with costa , a state-of-the-art static analysis system for sequential Java programs, for producing resource guarantees and KeY, a state-of-the-art verification tool, for formally verifying the correctness of such resource guarantees. Resource guarantees allow to be certain that programs will run within the indicated amount of resources, which may refer to memory consumption, number of instructions executed, etc. Our results show that the proposed tool cooperation can be used for automatically producing verified resource guarantees.</description><subject>Analyzers</subject><subject>Compilers</subject><subject>Computer programs</subject><subject>Computer Science</subject><subject>Cost analysis</subject><subject>Information Systems Applications (incl.Internet)</subject><subject>Interpreters</subject><subject>IT in Business</subject><subject>Programming Languages</subject><subject>Programming Techniques</subject><subject>Software</subject><subject>Software Engineering</subject><subject>Software Engineering/Programming and Operating Systems</subject><subject>State of the art</subject><subject>Static code analysis</subject><subject>Systems analysis</subject><subject>Theme Section Paper</subject><subject>Translations</subject><issn>1619-1366</issn><issn>1619-1374</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2016</creationdate><recordtype>article</recordtype><recordid>eNp1kM1LxDAQxYMouKz7B3grePESnUnTtDkui1-w4EXPIU0TifZjTXaV_vemVEQETzPM-73h8Qg5R7hCgPI6IrASKGBBgZeCjkdkgQIlxbzkxz-7EKdkFaOvATiTkguxIPk6c0PodJt92OCdN3rvhz5zQXf2cwhvk5rFfbqaTPe6HaOPZ-TE6Tba1fdckufbm6fNPd0-3j1s1ltqGIqRojEgG13nEsqqwKrKeRJqpyW3oraiMKypudYOLbe1lLIuNUqw3DVSQ8PyJbmc_-7C8H6wca86H41tW93b4RAVVryosBB5ntCLP-jrcAgp70QxBjyFmCicKROGGIN1ahd8p8OoENTUpJqbVKlJNTWpxuRhsycmtn-x4dfnf01fnON1yQ</recordid><startdate>20161001</startdate><enddate>20161001</enddate><creator>Albert, Elvira</creator><creator>Bubel, Richard</creator><creator>Genaim, Samir</creator><creator>Hähnle, Reiner</creator><creator>Puebla, Germán</creator><creator>Román-Díez, Guillermo</creator><general>Springer Berlin Heidelberg</general><general>Springer Nature B.V</general><scope>AAYXX</scope><scope>CITATION</scope><scope>3V.</scope><scope>7SC</scope><scope>7XB</scope><scope>8AL</scope><scope>8AO</scope><scope>8FD</scope><scope>8FE</scope><scope>8FG</scope><scope>8FK</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>ARAPS</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>GNUQQ</scope><scope>HCIFZ</scope><scope>JQ2</scope><scope>K7-</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><scope>M0N</scope><scope>P5Z</scope><scope>P62</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><scope>Q9U</scope></search><sort><creationdate>20161001</creationdate><title>A formal verification framework for static analysis</title><author>Albert, Elvira ; Bubel, Richard ; Genaim, Samir ; Hähnle, Reiner ; Puebla, Germán ; Román-Díez, Guillermo</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c216y-1cc09dab39078518834c21bfa94e6be65c2db4aaf1e4eb999b7a190e4fd9a0d23</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2016</creationdate><topic>Analyzers</topic><topic>Compilers</topic><topic>Computer programs</topic><topic>Computer Science</topic><topic>Cost analysis</topic><topic>Information Systems Applications (incl.Internet)</topic><topic>Interpreters</topic><topic>IT in Business</topic><topic>Programming Languages</topic><topic>Programming Techniques</topic><topic>Software</topic><topic>Software Engineering</topic><topic>Software Engineering/Programming and Operating Systems</topic><topic>State of the art</topic><topic>Static code analysis</topic><topic>Systems analysis</topic><topic>Theme Section Paper</topic><topic>Translations</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Albert, Elvira</creatorcontrib><creatorcontrib>Bubel, Richard</creatorcontrib><creatorcontrib>Genaim, Samir</creatorcontrib><creatorcontrib>Hähnle, Reiner</creatorcontrib><creatorcontrib>Puebla, Germán</creatorcontrib><creatorcontrib>Román-Díez, Guillermo</creatorcontrib><collection>CrossRef</collection><collection>ProQuest Central (Corporate)</collection><collection>Computer and Information Systems Abstracts</collection><collection>ProQuest Central (purchase pre-March 2016)</collection><collection>Computing Database (Alumni Edition)</collection><collection>ProQuest Pharma Collection</collection><collection>Technology Research Database</collection><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>ProQuest Central (Alumni) (purchase pre-March 2016)</collection><collection>ProQuest Central (Alumni)</collection><collection>ProQuest Central</collection><collection>Advanced Technologies &amp; Aerospace Collection</collection><collection>ProQuest Central Essentials</collection><collection>AUTh Library subscriptions: ProQuest Central</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central</collection><collection>ProQuest Central Student</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Computer Science Collection</collection><collection>Computer science database</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><collection>Computing Database</collection><collection>ProQuest advanced technologies &amp; aerospace journals</collection><collection>ProQuest Advanced Technologies &amp; Aerospace Collection</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><collection>ProQuest Central China</collection><collection>ProQuest Central Basic</collection><jtitle>Software and systems modeling</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Albert, Elvira</au><au>Bubel, Richard</au><au>Genaim, Samir</au><au>Hähnle, Reiner</au><au>Puebla, Germán</au><au>Román-Díez, Guillermo</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>A formal verification framework for static analysis: As well as its instantiation to the resource analyzer COSTA and formal verification tool KeY</atitle><jtitle>Software and systems modeling</jtitle><stitle>Softw Syst Model</stitle><date>2016-10-01</date><risdate>2016</risdate><volume>15</volume><issue>4</issue><spage>987</spage><epage>1012</epage><pages>987-1012</pages><issn>1619-1366</issn><eissn>1619-1374</eissn><abstract>Static analysis tools, such as resource analyzers, give useful information on software systems, especially in real-time and safety-critical applications. Therefore, the question of the reliability of the obtained results is highly important. State-of-the-art static analyzers typically combine a range of complex techniques, make use of external tools, and evolve quickly. To formally verify such systems is not a realistic option. In this work, we propose a different approach whereby, instead of the tools , we formally verify the results of the tools. The central idea of such a formal verification framework for static analysis is the method-wise translation of the information about a program gathered during its static analysis into specification contracts that contain enough information for them to be verified automatically. We instantiate this framework with costa , a state-of-the-art static analysis system for sequential Java programs, for producing resource guarantees and KeY, a state-of-the-art verification tool, for formally verifying the correctness of such resource guarantees. Resource guarantees allow to be certain that programs will run within the indicated amount of resources, which may refer to memory consumption, number of instructions executed, etc. Our results show that the proposed tool cooperation can be used for automatically producing verified resource guarantees.</abstract><cop>Berlin/Heidelberg</cop><pub>Springer Berlin Heidelberg</pub><doi>10.1007/s10270-015-0476-y</doi><tpages>26</tpages></addata></record>
fulltext fulltext
identifier ISSN: 1619-1366
ispartof Software and systems modeling, 2016-10, Vol.15 (4), p.987-1012
issn 1619-1366
1619-1374
language eng
recordid cdi_proquest_miscellaneous_1845815633
source Springer Link
subjects Analyzers
Compilers
Computer programs
Computer Science
Cost analysis
Information Systems Applications (incl.Internet)
Interpreters
IT in Business
Programming Languages
Programming Techniques
Software
Software Engineering
Software Engineering/Programming and Operating Systems
State of the art
Static code analysis
Systems analysis
Theme Section Paper
Translations
title A formal verification framework for static analysis: As well as its instantiation to the resource analyzer COSTA and formal verification tool KeY
url http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-27T07%3A17%3A36IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=A%20formal%20verification%20framework%20for%20static%20analysis:%20As%20well%20as%20its%20instantiation%20to%20the%20resource%20analyzer%20COSTA%20and%20formal%20verification%20tool%20KeY&rft.jtitle=Software%20and%20systems%20modeling&rft.au=Albert,%20Elvira&rft.date=2016-10-01&rft.volume=15&rft.issue=4&rft.spage=987&rft.epage=1012&rft.pages=987-1012&rft.issn=1619-1366&rft.eissn=1619-1374&rft_id=info:doi/10.1007/s10270-015-0476-y&rft_dat=%3Cproquest_cross%3E4189777541%3C/proquest_cross%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c216y-1cc09dab39078518834c21bfa94e6be65c2db4aaf1e4eb999b7a190e4fd9a0d23%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=1822043903&rft_id=info:pmid/&rfr_iscdi=true