Loading…
Joint forces for memory safety checking revisited
We present an improved version of the memory safety verification approach implemented in Symbiotic 5, the winner of the MemSafety category at the Competition on Software Verification (SV-COMP) 2018. The approach can verify programs for standard errors in memory usage like invalid pointer dereference...
Saved in:
Published in: | International journal on software tools for technology transfer 2020-04, Vol.22 (2), p.115-133 |
---|---|
Main Authors: | , , |
Format: | Article |
Language: | English |
Subjects: | |
Citations: | Items that this one cites Items that cite this one |
Online Access: | Get full text |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
cited_by | cdi_FETCH-LOGICAL-c319t-35d7af7cc279f76eba1435683502cb99e574dfb3152c54c267ffb6a271bccbc43 |
---|---|
cites | cdi_FETCH-LOGICAL-c319t-35d7af7cc279f76eba1435683502cb99e574dfb3152c54c267ffb6a271bccbc43 |
container_end_page | 133 |
container_issue | 2 |
container_start_page | 115 |
container_title | International journal on software tools for technology transfer |
container_volume | 22 |
creator | Chalupa, Marek Strejček, Jan Vitovská, Martina |
description | We present an improved version of the memory safety verification approach implemented in
Symbiotic
5, the winner of the
MemSafety
category at the
Competition on Software Verification
(SV-COMP) 2018. The approach can verify programs for standard errors in memory usage like invalid pointer dereference or memory leaking. It is based on instrumentation, static pointer analysis extended to consider memory deallocations, static program slicing, and symbolic execution. The improved version brings higher precision of the extended pointer analysis and further optimizations in instrumentation. It is implemented in the current version of
Symbiotic
, which contains also some improvements in program slicing and symbolic execution. We explain the approach in theory, describe implementation of selected components, and provide experimental results showing the impact of particular components. |
doi_str_mv | 10.1007/s10009-019-00526-2 |
format | article |
fullrecord | <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_journals_2268840564</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2268840564</sourcerecordid><originalsourceid>FETCH-LOGICAL-c319t-35d7af7cc279f76eba1435683502cb99e574dfb3152c54c267ffb6a271bccbc43</originalsourceid><addsrcrecordid>eNp9kLtOxDAQRS0EEsvCD1BFojb4EXviEq14aiUaqK1kYi9ZSLLYWaT8PQ5B0FHMo7j3zugQcs7ZJWcMrmLqzFDGUzElNBUHZMFzKamAAg5_dzDH5CTGLWMcNJgF4Y990w2Z7wO6OI2sdW0fxiyW3g1jhq8O35pukwX32cRmcPUpOfLle3RnP3NJXm5vnlf3dP1097C6XlOU3AxUqhpKD4gCjAftqjK9oHQhFRNYGeMU5LWvJFcCVY5Cg_eVLgXwCrHCXC7JxZy7C_3H3sXBbvt96NJJK4QuipwpPanErMLQxxict7vQtGUYLWd2QmNnNDahsd9orEgmOZtiEncbF_6i_3F9AdPJZeo</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2268840564</pqid></control><display><type>article</type><title>Joint forces for memory safety checking revisited</title><source>Springer Link</source><creator>Chalupa, Marek ; Strejček, Jan ; Vitovská, Martina</creator><creatorcontrib>Chalupa, Marek ; Strejček, Jan ; Vitovská, Martina</creatorcontrib><description>We present an improved version of the memory safety verification approach implemented in
Symbiotic
5, the winner of the
MemSafety
category at the
Competition on Software Verification
(SV-COMP) 2018. The approach can verify programs for standard errors in memory usage like invalid pointer dereference or memory leaking. It is based on instrumentation, static pointer analysis extended to consider memory deallocations, static program slicing, and symbolic execution. The improved version brings higher precision of the extended pointer analysis and further optimizations in instrumentation. It is implemented in the current version of
Symbiotic
, which contains also some improvements in program slicing and symbolic execution. We explain the approach in theory, describe implementation of selected components, and provide experimental results showing the impact of particular components.</description><identifier>ISSN: 1433-2779</identifier><identifier>EISSN: 1433-2787</identifier><identifier>DOI: 10.1007/s10009-019-00526-2</identifier><language>eng</language><publisher>Berlin/Heidelberg: Springer Berlin Heidelberg</publisher><subject>Computer Science ; Instruments ; Program verification (computers) ; Safety ; Slicing ; Software Engineering ; Software Engineering/Programming and Operating Systems ; Spin 2018 ; Theory of Computation</subject><ispartof>International journal on software tools for technology transfer, 2020-04, Vol.22 (2), p.115-133</ispartof><rights>Springer-Verlag GmbH Germany, part of Springer Nature 2019</rights><rights>International Journal on Software Tools for Technology Transfer is a copyright of Springer, (2019). All Rights Reserved.</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c319t-35d7af7cc279f76eba1435683502cb99e574dfb3152c54c267ffb6a271bccbc43</citedby><cites>FETCH-LOGICAL-c319t-35d7af7cc279f76eba1435683502cb99e574dfb3152c54c267ffb6a271bccbc43</cites><orcidid>0000-0001-5873-403X</orcidid></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,780,784,27923,27924</link.rule.ids></links><search><creatorcontrib>Chalupa, Marek</creatorcontrib><creatorcontrib>Strejček, Jan</creatorcontrib><creatorcontrib>Vitovská, Martina</creatorcontrib><title>Joint forces for memory safety checking revisited</title><title>International journal on software tools for technology transfer</title><addtitle>Int J Softw Tools Technol Transfer</addtitle><description>We present an improved version of the memory safety verification approach implemented in
Symbiotic
5, the winner of the
MemSafety
category at the
Competition on Software Verification
(SV-COMP) 2018. The approach can verify programs for standard errors in memory usage like invalid pointer dereference or memory leaking. It is based on instrumentation, static pointer analysis extended to consider memory deallocations, static program slicing, and symbolic execution. The improved version brings higher precision of the extended pointer analysis and further optimizations in instrumentation. It is implemented in the current version of
Symbiotic
, which contains also some improvements in program slicing and symbolic execution. We explain the approach in theory, describe implementation of selected components, and provide experimental results showing the impact of particular components.</description><subject>Computer Science</subject><subject>Instruments</subject><subject>Program verification (computers)</subject><subject>Safety</subject><subject>Slicing</subject><subject>Software Engineering</subject><subject>Software Engineering/Programming and Operating Systems</subject><subject>Spin 2018</subject><subject>Theory of Computation</subject><issn>1433-2779</issn><issn>1433-2787</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2020</creationdate><recordtype>article</recordtype><recordid>eNp9kLtOxDAQRS0EEsvCD1BFojb4EXviEq14aiUaqK1kYi9ZSLLYWaT8PQ5B0FHMo7j3zugQcs7ZJWcMrmLqzFDGUzElNBUHZMFzKamAAg5_dzDH5CTGLWMcNJgF4Y990w2Z7wO6OI2sdW0fxiyW3g1jhq8O35pukwX32cRmcPUpOfLle3RnP3NJXm5vnlf3dP1097C6XlOU3AxUqhpKD4gCjAftqjK9oHQhFRNYGeMU5LWvJFcCVY5Cg_eVLgXwCrHCXC7JxZy7C_3H3sXBbvt96NJJK4QuipwpPanErMLQxxict7vQtGUYLWd2QmNnNDahsd9orEgmOZtiEncbF_6i_3F9AdPJZeo</recordid><startdate>20200401</startdate><enddate>20200401</enddate><creator>Chalupa, Marek</creator><creator>Strejček, Jan</creator><creator>Vitovská, Martina</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>8G5</scope><scope>ABJCF</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>GUQSH</scope><scope>HCIFZ</scope><scope>JQ2</scope><scope>K7-</scope><scope>L6V</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><scope>M0N</scope><scope>M2O</scope><scope>M7S</scope><scope>MBDVC</scope><scope>P5Z</scope><scope>P62</scope><scope>PADUT</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><scope>PTHSS</scope><scope>Q9U</scope><orcidid>https://orcid.org/0000-0001-5873-403X</orcidid></search><sort><creationdate>20200401</creationdate><title>Joint forces for memory safety checking revisited</title><author>Chalupa, Marek ; Strejček, Jan ; Vitovská, Martina</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c319t-35d7af7cc279f76eba1435683502cb99e574dfb3152c54c267ffb6a271bccbc43</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2020</creationdate><topic>Computer Science</topic><topic>Instruments</topic><topic>Program verification (computers)</topic><topic>Safety</topic><topic>Slicing</topic><topic>Software Engineering</topic><topic>Software Engineering/Programming and Operating Systems</topic><topic>Spin 2018</topic><topic>Theory of Computation</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Chalupa, Marek</creatorcontrib><creatorcontrib>Strejček, Jan</creatorcontrib><creatorcontrib>Vitovská, Martina</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>Research Library (Alumni Edition)</collection><collection>Materials Science & Engineering Collection</collection><collection>ProQuest Central (Alumni Edition)</collection><collection>ProQuest Central</collection><collection>Advanced Technologies & 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>Research Library Prep</collection><collection>SciTech Premium Collection (Proquest) (PQ_SDU_P3)</collection><collection>ProQuest Computer Science Collection</collection><collection>Computer Science Database</collection><collection>ProQuest Engineering Collection</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>Research Library</collection><collection>Engineering Database</collection><collection>Research Library (Corporate)</collection><collection>Advanced Technologies & Aerospace Database</collection><collection>ProQuest Advanced Technologies & Aerospace Collection</collection><collection>Research Library China</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>Engineering Collection</collection><collection>ProQuest Central Basic</collection><jtitle>International journal on software tools for technology transfer</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Chalupa, Marek</au><au>Strejček, Jan</au><au>Vitovská, Martina</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Joint forces for memory safety checking revisited</atitle><jtitle>International journal on software tools for technology transfer</jtitle><stitle>Int J Softw Tools Technol Transfer</stitle><date>2020-04-01</date><risdate>2020</risdate><volume>22</volume><issue>2</issue><spage>115</spage><epage>133</epage><pages>115-133</pages><issn>1433-2779</issn><eissn>1433-2787</eissn><abstract>We present an improved version of the memory safety verification approach implemented in
Symbiotic
5, the winner of the
MemSafety
category at the
Competition on Software Verification
(SV-COMP) 2018. The approach can verify programs for standard errors in memory usage like invalid pointer dereference or memory leaking. It is based on instrumentation, static pointer analysis extended to consider memory deallocations, static program slicing, and symbolic execution. The improved version brings higher precision of the extended pointer analysis and further optimizations in instrumentation. It is implemented in the current version of
Symbiotic
, which contains also some improvements in program slicing and symbolic execution. We explain the approach in theory, describe implementation of selected components, and provide experimental results showing the impact of particular components.</abstract><cop>Berlin/Heidelberg</cop><pub>Springer Berlin Heidelberg</pub><doi>10.1007/s10009-019-00526-2</doi><tpages>19</tpages><orcidid>https://orcid.org/0000-0001-5873-403X</orcidid></addata></record> |
fulltext | fulltext |
identifier | ISSN: 1433-2779 |
ispartof | International journal on software tools for technology transfer, 2020-04, Vol.22 (2), p.115-133 |
issn | 1433-2779 1433-2787 |
language | eng |
recordid | cdi_proquest_journals_2268840564 |
source | Springer Link |
subjects | Computer Science Instruments Program verification (computers) Safety Slicing Software Engineering Software Engineering/Programming and Operating Systems Spin 2018 Theory of Computation |
title | Joint forces for memory safety checking revisited |
url | http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-08T12%3A38%3A57IST&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=Joint%20forces%20for%20memory%20safety%20checking%20revisited&rft.jtitle=International%20journal%20on%20software%20tools%20for%20technology%20transfer&rft.au=Chalupa,%20Marek&rft.date=2020-04-01&rft.volume=22&rft.issue=2&rft.spage=115&rft.epage=133&rft.pages=115-133&rft.issn=1433-2779&rft.eissn=1433-2787&rft_id=info:doi/10.1007/s10009-019-00526-2&rft_dat=%3Cproquest_cross%3E2268840564%3C/proquest_cross%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c319t-35d7af7cc279f76eba1435683502cb99e574dfb3152c54c267ffb6a271bccbc43%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=2268840564&rft_id=info:pmid/&rfr_iscdi=true |