A generic framework for symbolic execution: A coinductive approach
We propose a language-independent symbolic execution framework. The approach is parameterised by a language definition, which consists of a signature for the syntax and execution infrastructure of the language, a model interpreting the signature, and rewrite rules for the language's operational...
Uložené v:
| Vydané v: | Journal of symbolic computation Ročník 80; s. 125 - 163 |
|---|---|
| Hlavní autori: | , , |
| Médium: | Journal Article |
| Jazyk: | English |
| Vydavateľské údaje: |
Elsevier Ltd
01.05.2017
Elsevier |
| Predmet: | |
| ISSN: | 0747-7171, 1095-855X |
| On-line prístup: | Získať plný text |
| Tagy: |
Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
|
| Abstract | We propose a language-independent symbolic execution framework. The approach is parameterised by a language definition, which consists of a signature for the syntax and execution infrastructure of the language, a model interpreting the signature, and rewrite rules for the language's operational semantics. Then, symbolic execution amounts to computing symbolic paths using a derivative operation. We prove that the symbolic execution thus defined has the properties naturally expected from it, meaning that the feasible symbolic executions of a program and the concrete executions of the same program mutually simulate each other. We also show how a coinduction-based extension of symbolic execution can be used for the deductive verification of programs. We show how the proposed symbolic-execution approach, and the coinductive verification technique based on it, can be seamlessly implemented in language definition frameworks based on rewriting such as the K framework. A prototype implementation of our approach has been developed in K. We illustrate it on the symbolic analysis and deductive verification of nontrivial programs. |
|---|---|
| AbstractList | We propose a language-independent symbolic execution framework. The approach is parameterised by a language definition, which consists of a signature for the syntax and execution infrastructure of the language, a model interpreting the signature, and rewrite rules for the language's operational semantics. Then, symbolic execution amounts to computing symbolic paths using a derivative operation. We prove that the symbolic execution thus defined has the properties naturally expected from it, meaning that the feasible symbolic executions of a program and the concrete executions of the same program mutually simulate each other. We also show how a coinduction-based extension of symbolic execution can be used for the deductive verification of programs. We show how the proposed symbolic-execution approach, and the coinductive verification technique based on it, can be seamlessly implemented in language definition frameworks based on rewriting such as the K framework. A prototype implementation of our approach has been developed in K. We illustrate it on the symbolic analysis and deductive verification of nontrivial programs. We propose a language-independent symbolic execution framework. The approach is parameterised by a language definition, which consists of a signature for the lan-guage's syntax and execution infrastructure, a model interpreting the signature, and rewrite rules for the language's operational semantics. Then, symbolic execution amounts to computing symbolic paths using a derivative operation. We prove that the symbolic execution thus defined has the properties naturally expected from it, meaning that the feasible symbolic executions of a program and the concrete executions of the same program mutually simulate each other. We also show how a coinduction-based extension of symbolic execution can be used for the deductive verification of programs. We show how the proposed symbolic-execution approach, and the coinductive verification technique based on it, can be seamlessly implemented in language definition frameworks based on rewriting such as the K framework. A prototype implementation of our approach has been developed in K. We illustrate it on the symbolic analysis and deductive verification of nontrivial programs. |
| Author | Lucanu, Dorel Arusoaie, Andrei Rusu, Vlad |
| Author_xml | – sequence: 1 givenname: Dorel surname: Lucanu fullname: Lucanu, Dorel email: dlucanu@info.uaic.ro organization: Faculty of Computer Science, “Alexandru Ioan Cuza” University of Iaşi, Romania – sequence: 2 givenname: Vlad surname: Rusu fullname: Rusu, Vlad email: vlad.rusu@inria.fr organization: Inria Lille Nord Europe, France – sequence: 3 givenname: Andrei surname: Arusoaie fullname: Arusoaie, Andrei email: andrei.arusoaie@info.uaic.ro organization: Faculty of Computer Science, “Alexandru Ioan Cuza” University of Iaşi, Romania |
| BackLink | https://inria.hal.science/hal-01238696$$DView record in HAL |
| BookMark | eNp9kDFPwzAQhS1UJNrCD2DLypBgx0kcw1QqoEiVWEBisxz7TB3SuLLTQv89CYWFodOdTu97p_cmaNS6FhC6JDghmBTXdVIHlaT9mmCWYJKeoDHBPI_LPH8boTFmGYsZYeQMTUKoMcY8o_kY3c2id2jBWxUZL9fw6fxHZJyPwn5duaY_wxeobWddexPNIuVsq7eqszuI5GbjnVSrc3RqZBPg4ndO0evD_ct8ES-fH5_ms2WsKMu6WDLJc0ZTnEFlTAUEClZgTnFeplmlJVQplRnWoHGmieamKmjJJUm5LI3hmk7R1cF3JRux8XYt_V44acVithTDrU9Ny4IXu7TXsoNWeReCByOU7eSQovPSNoJgMdQmatHXJobaBGY_BlNE_pF_r44xtwcG-vg7C14EZaFVoK0H1Qnt7BH6G42Vh4c |
| CitedBy_id | crossref_primary_10_1016_j_scico_2019_102342 crossref_primary_10_1007_s00165_020_00527_y crossref_primary_10_1016_j_csi_2020_103444 crossref_primary_10_1016_j_jlamp_2019_100483 crossref_primary_10_1016_j_jlamp_2020_100619 crossref_primary_10_1145_3498709 crossref_primary_10_1016_j_jlamp_2019_100497 crossref_primary_10_1016_j_tcs_2025_115263 |
| Cites_doi | 10.1093/jigpal/5.2.231 10.1137/0206024 10.1016/j.ic.2008.03.026 10.1145/2499368.2451152 10.1007/s10009-009-0118-1 10.1016/j.entcs.2009.05.015 10.1007/s10270-004-0058-x 10.1145/503271.503230 10.1145/360248.360252 10.1007/s10990-007-9000-6 10.1016/j.entcs.2006.01.006 10.1016/j.jlap.2010.03.012 |
| ContentType | Journal Article |
| Copyright | 2016 Elsevier Ltd Distributed under a Creative Commons Attribution 4.0 International License |
| Copyright_xml | – notice: 2016 Elsevier Ltd – notice: Distributed under a Creative Commons Attribution 4.0 International License |
| DBID | AAYXX CITATION 1XC VOOES |
| DOI | 10.1016/j.jsc.2016.07.012 |
| DatabaseName | CrossRef Hyper Article en Ligne (HAL) Hyper Article en Ligne (HAL) (Open Access) |
| DatabaseTitle | CrossRef |
| DatabaseTitleList | |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 1095-855X |
| EndPage | 163 |
| ExternalDocumentID | oai:HAL:hal-01238696v2 10_1016_j_jsc_2016_07_012 S0747717116300499 |
| GroupedDBID | --K --M -~X .DC .~1 0R~ 1B1 1RT 1~. 1~5 29L 4.4 457 4G. 5GY 5VS 6I. 6OB 7-5 71M 8P~ 9JN AACTN AAEDT AAEDW AAFTH AAIAV AAIKJ AAKOC AALRI AAOAW AAQFI AAQXK AAXUO AAYFN ABAOU ABBOA ABEFU ABFNM ABJNI ABMAC ABVKL ABXDB ABYKQ ACAZW ACDAQ ACGFS ACNNM ACRLP ACZNC ADBBV ADEZE ADFGL ADMUD AEBSH AEKER AENEX AEXQZ AFKWA AFTJW AGHFR AGUBO AGYEJ AHHHB AIALX AIEXJ AIGVJ AIKHN AITUG AJBFU AJOXV ALMA_UNASSIGNED_HOLDINGS AMFUW AMRAJ AOUOD ARUGR ASPBG AVWKF AXJTR AZFZN BKOJK BLXMC CAG COF CS3 DM4 DU5 EBS EFBJH EFLBG EJD EO8 EO9 EP2 EP3 FDB FEDTE FGOYB FIRID FNPLU FYGXN G-2 G-Q GBLVA GBOLZ HVGLF HZ~ IHE IXB J1W KOM LG5 M25 M41 MHUIS MO0 N9A NCXOZ O-L O9- OAUVE OK1 OZT P-8 P-9 P2P PC. Q38 R2- RIG RNS ROL RPZ SDF SDG SDP SES SEW SPC SPCBC SSV SSW SSZ T5K TN5 UPT WUQ XPP YQT ZMT ZU3 ~G- 9DU AATTM AAXKI AAYWO AAYXX ABWVN ACLOT ACRPL ACVFH ADCNI ADNMO ADVLN AEIPS AEUPX AFJKZ AFPUW AGQPQ AIGII AIIUN AKBMS AKRWK AKYEP ANKPU APXCP CITATION EFKBS ~HD 1XC VOOES |
| ID | FETCH-LOGICAL-c374t-a7a9573204ebffbe1e67609305824bdaeb23a40ded04d1d9fb6389a129a8ff9d3 |
| ISICitedReferencesCount | 26 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000390831700007&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 0747-7171 |
| IngestDate | Tue Oct 14 20:34:17 EDT 2025 Tue Nov 18 21:08:32 EST 2025 Sat Nov 29 02:51:00 EST 2025 Fri Feb 23 02:31:32 EST 2024 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Keywords | Reachability logic Programming language Symbolic execution Formal operational semantics Circular coinduction Program verification symbolic execution circular coinduction formal operational semantics programming language program verification reachability logic |
| Language | English |
| License | Distributed under a Creative Commons Attribution 4.0 International License: http://creativecommons.org/licenses/by/4.0 |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-c374t-a7a9573204ebffbe1e67609305824bdaeb23a40ded04d1d9fb6389a129a8ff9d3 |
| ORCID | 0000-0002-3495-2232 |
| OpenAccessLink | https://inria.hal.science/hal-01238696 |
| PageCount | 39 |
| ParticipantIDs | hal_primary_oai_HAL_hal_01238696v2 crossref_citationtrail_10_1016_j_jsc_2016_07_012 crossref_primary_10_1016_j_jsc_2016_07_012 elsevier_sciencedirect_doi_10_1016_j_jsc_2016_07_012 |
| PublicationCentury | 2000 |
| PublicationDate | 2017-05-01 |
| PublicationDateYYYYMMDD | 2017-05-01 |
| PublicationDate_xml | – month: 05 year: 2017 text: 2017-05-01 day: 01 |
| PublicationDecade | 2010 |
| PublicationTitle | Journal of symbolic computation |
| PublicationYear | 2017 |
| Publisher | Elsevier Ltd Elsevier |
| Publisher_xml | – name: Elsevier Ltd – name: Elsevier |
| References | Clavel, Durán, Eker, Lincoln, Oliet, Meseguer, Talcott (br0100) 2007 Cadar, Ganesh, Pawlowski, Dill, Engler (br0080) 2006 Jaffar, Murali, Navas, Santosa (br0230) 2012 Roşu, Ştefănescu (br0430) 2012 Roşu, Ştefănescu, Ciobâcă, Moore (br0400) June 2013 Reynolds (br0360) 2002 Godefroid, Klarlund, Sen (br0200) 2005 Ahrendt (br0010) 2005; 4 Sangiorgi (br0450) 2012 de Moura, Bjørner (br0160) 2008; vol. 4963 King (br0240) 1976; 19 Moss, Danner (br0310) 1997; 5 Filliâtre (br0180) 1998 Ştefănescu, Ciobâcă, Mereuţă, Moore, Şerbănuţă, Roşu (br0130) July 2014; vol. 8560 Rocha, Meseguer, Muñoz (br0370) 2014; vol. 8663 Roşu, Ştefănescu (br0390) 2012; vol. 7436 Păsăreanu, Rungta (br0320) 2010 Barnett, Rustan, Leino, Schulte (br0050) 2005 de Halleux, Tillmann (br0150) 2008; vol. 4966 Filliâtre, Paskevich (br0190) March 2013; vol. 7792 Meseguer, Thati (br0290) 2007; 20 Berdine, Calcagno, O'Hearn (br0060) 2005; vol. 3780 Cormen, Leiserson, Rivest, Stein (br0120) 2009 Knuth, Morris, Pratt (br0250) 1977; 6 Şerbănuţă, Roşu, Meseguer (br0480) 2009; 207 Păsăreanu, Visser (br0340) 2009; 11 Armando, Benerecetti, Mantovani (br0020) 2006; 144 Schmitt, Weiß (br0460) 2007; vol. 259 Escobar, Meseguer, Sasse (br0170) 2009; 238 Cadar, Dunbar, Engler (br0070) 2008 Roşu (br0380) July 2015; vol. 36 Jacobs, Smans, Piessens (br0220) 2010 Roşu, Şerbănuţă (br0420) 2010; 79 Arusoaie, Lucanu, Rusu (br0030) 2013; vol. 8225 The Coq development team. The Coq proof assistant reference manual. LogiCal Project 2004. Version 8.0. Păsăreanu, Visser (br0330) 2004; vol. 2989 Clarke, Kroening (br0090) 2003 Lucanu, Rusu, Arusoaie, Nowak (br0260) 2015; vol. 9200 Moore, Roşu (br0300) February 2015 Ramos, Engler (br0350) 2011 Sen, Marinov, Agha (br0470) 2005 Arusoaie, Lucanu, Rusu (br0040) 2015; 44 Rusu, Lucanu, Serbanuta, Arusoaie, Ştefănescu, Roşu (br0440) 2016; 85 Lucanu, Şerbănuţă (br0270) December 2013 Coen-Porisini, Denaro, Ghezzi, Pezzé (br0110) 2001; 26 Cui, Hu, Wu, Yang (br0140) March 2013; 48 Harel, Kozen, Tiuryn (br0210) 1984 Roşu, Lucanu (br0410) 2009; vol. 5728 Moss (10.1016/j.jsc.2016.07.012_br0310) 1997; 5 Moore (10.1016/j.jsc.2016.07.012_br0300) Filliâtre (10.1016/j.jsc.2016.07.012_br0190) 2013; vol. 7792 Ştefănescu (10.1016/j.jsc.2016.07.012_br0130) 2014; vol. 8560 Coen-Porisini (10.1016/j.jsc.2016.07.012_br0110) 2001; 26 Armando (10.1016/j.jsc.2016.07.012_br0020) 2006; 144 Berdine (10.1016/j.jsc.2016.07.012_br0060) 2005; vol. 3780 Cormen (10.1016/j.jsc.2016.07.012_br0120) 2009 Filliâtre (10.1016/j.jsc.2016.07.012_br0180) Harel (10.1016/j.jsc.2016.07.012_br0210) 1984 Roşu (10.1016/j.jsc.2016.07.012_br0400) 2013 Roşu (10.1016/j.jsc.2016.07.012_br0430) 2012 Cui (10.1016/j.jsc.2016.07.012_br0140) 2013; 48 Roşu (10.1016/j.jsc.2016.07.012_br0410) 2009; vol. 5728 Meseguer (10.1016/j.jsc.2016.07.012_br0290) 2007; 20 Schmitt (10.1016/j.jsc.2016.07.012_br0460) 2007; vol. 259 Roşu (10.1016/j.jsc.2016.07.012_br0380) 2015; vol. 36 Roşu (10.1016/j.jsc.2016.07.012_br0420) 2010; 79 Barnett (10.1016/j.jsc.2016.07.012_br0050) 2005 Arusoaie (10.1016/j.jsc.2016.07.012_br0030) 2013; vol. 8225 Jacobs (10.1016/j.jsc.2016.07.012_br0220) 2010 Knuth (10.1016/j.jsc.2016.07.012_br0250) 1977; 6 10.1016/j.jsc.2016.07.012_br0280 Clarke (10.1016/j.jsc.2016.07.012_br0090) 2003 Păsăreanu (10.1016/j.jsc.2016.07.012_br0320) 2010 Păsăreanu (10.1016/j.jsc.2016.07.012_br0340) 2009; 11 Reynolds (10.1016/j.jsc.2016.07.012_br0360) 2002 Lucanu (10.1016/j.jsc.2016.07.012_br0270) 2013 Rusu (10.1016/j.jsc.2016.07.012_br0440) 2016; 85 Rocha (10.1016/j.jsc.2016.07.012_br0370) 2014; vol. 8663 Sangiorgi (10.1016/j.jsc.2016.07.012_br0450) 2012 de Halleux (10.1016/j.jsc.2016.07.012_br0150) 2008; vol. 4966 King (10.1016/j.jsc.2016.07.012_br0240) 1976; 19 Roşu (10.1016/j.jsc.2016.07.012_br0390) 2012; vol. 7436 Jaffar (10.1016/j.jsc.2016.07.012_br0230) 2012 Cadar (10.1016/j.jsc.2016.07.012_br0070) 2008 Cadar (10.1016/j.jsc.2016.07.012_br0080) 2006 de Moura (10.1016/j.jsc.2016.07.012_br0160) 2008; vol. 4963 Şerbănuţă (10.1016/j.jsc.2016.07.012_br0480) 2009; 207 Ramos (10.1016/j.jsc.2016.07.012_br0350) 2011 Păsăreanu (10.1016/j.jsc.2016.07.012_br0330) 2004; vol. 2989 Godefroid (10.1016/j.jsc.2016.07.012_br0200) 2005 Arusoaie (10.1016/j.jsc.2016.07.012_br0040) 2015; 44 Clavel (10.1016/j.jsc.2016.07.012_br0100) 2007 Escobar (10.1016/j.jsc.2016.07.012_br0170) 2009; 238 Lucanu (10.1016/j.jsc.2016.07.012_br0260) 2015; vol. 9200 Ahrendt (10.1016/j.jsc.2016.07.012_br0010) 2005; 4 Sen (10.1016/j.jsc.2016.07.012_br0470) 2005 |
| References_xml | – start-page: 213 year: 2005 end-page: 223 ident: br0200 article-title: DART: directed automated random testing publication-title: Proceedings of the ACM SIGPLAN 2005 Conference on Programming Language Design and Implementation – start-page: 669 year: 2011 end-page: 685 ident: br0350 article-title: Practical, low-effort equivalence verification of real code publication-title: Proceedings of the 23rd International Conference on Computer Aided Verification – start-page: 555 year: 2012 end-page: 574 ident: br0430 article-title: Checking reachability using matching logic publication-title: OOPSLA – volume: 19 start-page: 385 year: 1976 end-page: 394 ident: br0240 article-title: Symbolic execution and program testing publication-title: Commun. ACM – volume: vol. 8663 start-page: 247 year: 2014 end-page: 262 ident: br0370 article-title: Rewriting modulo SMT and open system analysis publication-title: Rewriting Logic and Its Applications—10th International Workshop, WRLA 2014, Revised Selected Papers – volume: vol. 4966 start-page: 171 year: 2008 end-page: 181 ident: br0150 article-title: Parameterized unit testing with Pex publication-title: Tests and Proofs, Second International Conference – start-page: 497 year: 1984 end-page: 604 ident: br0210 article-title: Dynamic logic publication-title: Handbook of Philosophical Logic – start-page: 49 year: 2005 end-page: 69 ident: br0050 article-title: The Spec# programming system: an overview publication-title: Proc. 2004 International Conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices – start-page: 322 year: 2006 end-page: 335 ident: br0080 article-title: EXE: automatically generating inputs of death publication-title: ACM Conference on Computer and Communications Security – volume: 238 start-page: 103 year: 2009 end-page: 119 ident: br0170 article-title: Variant narrowing and equational unification publication-title: Electron. Notes Theor. Comput. Sci. – year: February 2015 ident: br0300 article-title: Program verification by coinduction – start-page: 263 year: 2005 end-page: 272 ident: br0470 article-title: CUTE: a concolic unit testing engine for C publication-title: Proceedings of the 10th European Software Engineering Conference Held Jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering – volume: vol. 8560 start-page: 425 year: July 2014 end-page: 440 ident: br0130 article-title: All-path reachability logic publication-title: Proceedings of the Joint 25th International Conference on Rewriting Techniques and Applications and 12th International Conference on Typed Lambda Calculi and Applications – volume: 48 start-page: 329 year: March 2013 end-page: 342 ident: br0140 article-title: Verifying systems rules using rule-directed symbolic execution publication-title: ACM SIGPLAN Not. – volume: 5 start-page: 231 year: 1997 end-page: 257 ident: br0310 article-title: On the foundations of corecursion publication-title: Log. J. IGPL – volume: 144 start-page: 79 year: 2006 end-page: 94 ident: br0020 article-title: Model checking linear programs with arrays publication-title: Electron. Notes Theor. Comput. Sci. – volume: vol. 7436 start-page: 387 year: 2012 end-page: 402 ident: br0390 article-title: From Hoare logic to matching logic reachability publication-title: Proceedings of the 18th International Symposium on Formal Methods – start-page: 179 year: 2010 end-page: 180 ident: br0320 article-title: Symbolic PathFinder: symbolic execution of Java bytecode publication-title: International Conference on Automated Software Engineering – start-page: 308 year: 2003 end-page: 311 ident: br0090 article-title: Hardware verification using ANSI-C programs as a reference publication-title: Proceedings of the 2003 Asia and South Pacific Design Automation Conference – year: December 2013 ident: br0270 article-title: CinK—an exercise on how to think in K – volume: 6 start-page: 323 year: 1977 end-page: 350 ident: br0250 article-title: Fast pattern matching in strings publication-title: SIAM J. Comput. – volume: 79 start-page: 397 year: 2010 end-page: 434 ident: br0420 article-title: An overview of the K semantic framework publication-title: J. Log. Algebraic Program. – year: 1998 ident: br0180 article-title: Proof of KMP string searching algorithm – volume: vol. 3780 start-page: 52 year: 2005 end-page: 68 ident: br0060 article-title: Symbolic execution with separation logic publication-title: Programming Languages and Systems, Third Asian Symposium – reference: The Coq development team. The Coq proof assistant reference manual. LogiCal Project 2004. Version 8.0. – year: 2012 ident: br0450 article-title: An Introduction to Bisimulation and Coinduction – volume: vol. 8225 start-page: 281 year: 2013 end-page: 301 ident: br0030 article-title: A generic framework for symbolic execution publication-title: 6th International Conference on Software Language Engineering – year: 2009 ident: br0120 article-title: Introduction to Algorithms – volume: vol. 2989 start-page: 164 year: 2004 end-page: 181 ident: br0330 article-title: Verification of Java programs using symbolic execution and invariant generation publication-title: SPIN – volume: 26 start-page: 142 year: 2001 end-page: 151 ident: br0110 article-title: Using symbolic execution for verifying safety-critical systems publication-title: Softw. Eng. Notes – year: 2007 ident: br0100 article-title: All About Maude—A High-Performance Logical Framework: How to Specify, Program, and Verify Systems in Rewriting Logic publication-title: Lecture Notes in Computer Science – volume: vol. 4963 start-page: 337 year: 2008 end-page: 340 ident: br0160 article-title: Z3: an efficient SMT solver publication-title: Tools and Algorithms for the Construction and Analysis of Systems, 14th International Conference – start-page: 304 year: 2010 end-page: 311 ident: br0220 article-title: A quick tour of the verifast program verifier publication-title: Proceedings of the 8th Asian Conference on Programming Languages and Systems – volume: 11 start-page: 339 year: 2009 end-page: 353 ident: br0340 article-title: A survey of new trends in symbolic execution for software testing and analysis publication-title: Int. J. Softw. Tools Technol. Transf. – start-page: 55 year: 2002 end-page: 74 ident: br0360 article-title: Separation logic: a logic for shared mutable data structures publication-title: Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science – start-page: 758 year: 2012 end-page: 766 ident: br0230 article-title: TRACER: a symbolic execution tool for verification publication-title: Computer Aided Verification—24th International Conference, 2012 Proceedings – volume: vol. 7792 start-page: 125 year: March 2013 end-page: 128 ident: br0190 article-title: Why3—where programs meet provers publication-title: Proceedings of the 22nd European Symposium on Programming – volume: 20 start-page: 123 year: 2007 end-page: 160 ident: br0290 article-title: Symbolic reachability analysis using narrowing and its application to verification of cryptographic protocols publication-title: High.-Order Symb. Comput. – volume: vol. 259 year: 2007 ident: br0460 article-title: Inferring invariants by symbolic execution publication-title: VERIFY – volume: vol. 9200 start-page: 451 year: 2015 end-page: 474 ident: br0260 article-title: Verifying reachability-logic properties on rewriting-logic specifications publication-title: Logic, Rewriting, and Concurrency—Essays Dedicated to José Meseguer on the Occasion of His 65th Birthday – volume: 207 start-page: 305 year: 2009 end-page: 340 ident: br0480 article-title: A rewriting logic approach to operational semantics publication-title: Inf. Comput. – volume: 4 start-page: 32 year: 2005 end-page: 54 ident: br0010 article-title: The KeY tool publication-title: Softw. Syst. Model. – volume: 44 start-page: 48 year: 2015 end-page: 71 ident: br0040 article-title: Symbolic execution based on language transformation publication-title: Comput. Lang. Syst. Struct. – start-page: 209 year: 2008 end-page: 224 ident: br0070 article-title: Klee: unassisted and automatic generation of high-coverage tests for complex systems programs publication-title: Proc. 8th USENIX Conference on Operating Systems Design and Implementation – volume: vol. 36 start-page: 5 year: July 2015 end-page: 21 ident: br0380 article-title: Matching logic—extended abstract publication-title: Proceedings of the 26th International Conference on Rewriting Techniques and Applications – start-page: 358 year: June 2013 end-page: 367 ident: br0400 article-title: One-path reachability logic publication-title: Proceedings of the 28th Symposium on Logic in Computer Science – volume: vol. 5728 start-page: 127 year: 2009 end-page: 144 ident: br0410 article-title: Circular coinduction—a proof theoretical foundation publication-title: CALCO 2009 – volume: 85 start-page: 1:98 year: 2016 end-page: 120 ident: br0440 article-title: Language definitions as rewrite theories publication-title: J. Log. Algebraic Methods Program. – volume: 44 start-page: 48 year: 2015 ident: 10.1016/j.jsc.2016.07.012_br0040 article-title: Symbolic execution based on language transformation publication-title: Comput. Lang. Syst. Struct. – volume: vol. 8560 start-page: 425 year: 2014 ident: 10.1016/j.jsc.2016.07.012_br0130 article-title: All-path reachability logic – start-page: 308 year: 2003 ident: 10.1016/j.jsc.2016.07.012_br0090 article-title: Hardware verification using ANSI-C programs as a reference – volume: 5 start-page: 231 issue: 2 year: 1997 ident: 10.1016/j.jsc.2016.07.012_br0310 article-title: On the foundations of corecursion publication-title: Log. J. IGPL doi: 10.1093/jigpal/5.2.231 – year: 2012 ident: 10.1016/j.jsc.2016.07.012_br0450 – volume: vol. 8663 start-page: 247 year: 2014 ident: 10.1016/j.jsc.2016.07.012_br0370 article-title: Rewriting modulo SMT and open system analysis – ident: 10.1016/j.jsc.2016.07.012_br0180 – volume: 6 start-page: 323 issue: 2 year: 1977 ident: 10.1016/j.jsc.2016.07.012_br0250 article-title: Fast pattern matching in strings publication-title: SIAM J. Comput. doi: 10.1137/0206024 – volume: vol. 8225 start-page: 281 year: 2013 ident: 10.1016/j.jsc.2016.07.012_br0030 article-title: A generic framework for symbolic execution – volume: vol. 7436 start-page: 387 year: 2012 ident: 10.1016/j.jsc.2016.07.012_br0390 article-title: From Hoare logic to matching logic reachability – volume: vol. 4966 start-page: 171 year: 2008 ident: 10.1016/j.jsc.2016.07.012_br0150 article-title: Parameterized unit testing with Pex – volume: vol. 259 year: 2007 ident: 10.1016/j.jsc.2016.07.012_br0460 article-title: Inferring invariants by symbolic execution – start-page: 358 year: 2013 ident: 10.1016/j.jsc.2016.07.012_br0400 article-title: One-path reachability logic – volume: vol. 2989 start-page: 164 year: 2004 ident: 10.1016/j.jsc.2016.07.012_br0330 article-title: Verification of Java programs using symbolic execution and invariant generation – volume: 207 start-page: 305 issue: 2 year: 2009 ident: 10.1016/j.jsc.2016.07.012_br0480 article-title: A rewriting logic approach to operational semantics publication-title: Inf. Comput. doi: 10.1016/j.ic.2008.03.026 – start-page: 209 year: 2008 ident: 10.1016/j.jsc.2016.07.012_br0070 article-title: Klee: unassisted and automatic generation of high-coverage tests for complex systems programs – start-page: 322 year: 2006 ident: 10.1016/j.jsc.2016.07.012_br0080 article-title: EXE: automatically generating inputs of death – year: 2007 ident: 10.1016/j.jsc.2016.07.012_br0100 article-title: All About Maude—A High-Performance Logical Framework: How to Specify, Program, and Verify Systems in Rewriting Logic – ident: 10.1016/j.jsc.2016.07.012_br0300 – start-page: 179 year: 2010 ident: 10.1016/j.jsc.2016.07.012_br0320 article-title: Symbolic PathFinder: symbolic execution of Java bytecode – volume: 85 start-page: 1:98 issue: 1, Part 1 year: 2016 ident: 10.1016/j.jsc.2016.07.012_br0440 article-title: Language definitions as rewrite theories publication-title: J. Log. Algebraic Methods Program. – volume: 48 start-page: 329 issue: 4 year: 2013 ident: 10.1016/j.jsc.2016.07.012_br0140 article-title: Verifying systems rules using rule-directed symbolic execution publication-title: ACM SIGPLAN Not. doi: 10.1145/2499368.2451152 – start-page: 497 year: 1984 ident: 10.1016/j.jsc.2016.07.012_br0210 article-title: Dynamic logic – volume: 11 start-page: 339 issue: 4 year: 2009 ident: 10.1016/j.jsc.2016.07.012_br0340 article-title: A survey of new trends in symbolic execution for software testing and analysis publication-title: Int. J. Softw. Tools Technol. Transf. doi: 10.1007/s10009-009-0118-1 – start-page: 55 year: 2002 ident: 10.1016/j.jsc.2016.07.012_br0360 article-title: Separation logic: a logic for shared mutable data structures – volume: vol. 3780 start-page: 52 year: 2005 ident: 10.1016/j.jsc.2016.07.012_br0060 article-title: Symbolic execution with separation logic – volume: 238 start-page: 103 issue: 3 year: 2009 ident: 10.1016/j.jsc.2016.07.012_br0170 article-title: Variant narrowing and equational unification publication-title: Electron. Notes Theor. Comput. Sci. doi: 10.1016/j.entcs.2009.05.015 – volume: vol. 5728 start-page: 127 year: 2009 ident: 10.1016/j.jsc.2016.07.012_br0410 article-title: Circular coinduction—a proof theoretical foundation – volume: vol. 9200 start-page: 451 year: 2015 ident: 10.1016/j.jsc.2016.07.012_br0260 article-title: Verifying reachability-logic properties on rewriting-logic specifications – ident: 10.1016/j.jsc.2016.07.012_br0280 – start-page: 555 year: 2012 ident: 10.1016/j.jsc.2016.07.012_br0430 article-title: Checking reachability using matching logic – start-page: 213 year: 2005 ident: 10.1016/j.jsc.2016.07.012_br0200 article-title: DART: directed automated random testing – year: 2013 ident: 10.1016/j.jsc.2016.07.012_br0270 – start-page: 49 year: 2005 ident: 10.1016/j.jsc.2016.07.012_br0050 article-title: The Spec# programming system: an overview – volume: vol. 7792 start-page: 125 year: 2013 ident: 10.1016/j.jsc.2016.07.012_br0190 article-title: Why3—where programs meet provers – start-page: 263 year: 2005 ident: 10.1016/j.jsc.2016.07.012_br0470 article-title: CUTE: a concolic unit testing engine for C – volume: vol. 4963 start-page: 337 year: 2008 ident: 10.1016/j.jsc.2016.07.012_br0160 article-title: Z3: an efficient SMT solver – volume: 4 start-page: 32 year: 2005 ident: 10.1016/j.jsc.2016.07.012_br0010 article-title: The KeY tool publication-title: Softw. Syst. Model. doi: 10.1007/s10270-004-0058-x – start-page: 758 year: 2012 ident: 10.1016/j.jsc.2016.07.012_br0230 article-title: TRACER: a symbolic execution tool for verification – volume: 26 start-page: 142 issue: 5 year: 2001 ident: 10.1016/j.jsc.2016.07.012_br0110 article-title: Using symbolic execution for verifying safety-critical systems publication-title: Softw. Eng. Notes doi: 10.1145/503271.503230 – start-page: 304 year: 2010 ident: 10.1016/j.jsc.2016.07.012_br0220 article-title: A quick tour of the verifast program verifier – volume: 19 start-page: 385 issue: 7 year: 1976 ident: 10.1016/j.jsc.2016.07.012_br0240 article-title: Symbolic execution and program testing publication-title: Commun. ACM doi: 10.1145/360248.360252 – year: 2009 ident: 10.1016/j.jsc.2016.07.012_br0120 – volume: vol. 36 start-page: 5 year: 2015 ident: 10.1016/j.jsc.2016.07.012_br0380 article-title: Matching logic—extended abstract – volume: 20 start-page: 123 issue: 1–2 year: 2007 ident: 10.1016/j.jsc.2016.07.012_br0290 article-title: Symbolic reachability analysis using narrowing and its application to verification of cryptographic protocols publication-title: High.-Order Symb. Comput. doi: 10.1007/s10990-007-9000-6 – start-page: 669 year: 2011 ident: 10.1016/j.jsc.2016.07.012_br0350 article-title: Practical, low-effort equivalence verification of real code – volume: 144 start-page: 79 issue: 3 year: 2006 ident: 10.1016/j.jsc.2016.07.012_br0020 article-title: Model checking linear programs with arrays publication-title: Electron. Notes Theor. Comput. Sci. doi: 10.1016/j.entcs.2006.01.006 – volume: 79 start-page: 397 issue: 6 year: 2010 ident: 10.1016/j.jsc.2016.07.012_br0420 article-title: An overview of the K semantic framework publication-title: J. Log. Algebraic Program. doi: 10.1016/j.jlap.2010.03.012 |
| SSID | ssj0009435 |
| Score | 2.299111 |
| Snippet | We propose a language-independent symbolic execution framework. The approach is parameterised by a language definition, which consists of a signature for the... |
| SourceID | hal crossref elsevier |
| SourceType | Open Access Repository Enrichment Source Index Database Publisher |
| StartPage | 125 |
| SubjectTerms | Circular coinduction Computer Science Formal operational semantics Logic in Computer Science Program verification Programming language Programming Languages Reachability logic Symbolic execution |
| Title | A generic framework for symbolic execution: A coinductive approach |
| URI | https://dx.doi.org/10.1016/j.jsc.2016.07.012 https://inria.hal.science/hal-01238696 |
| Volume | 80 |
| WOSCitedRecordID | wos000390831700007&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVESC databaseName: Elsevier SD Freedom Collection Journals 2021 customDbUrl: eissn: 1095-855X dateEnd: 20180228 omitProxy: false ssIdentifier: ssj0009435 issn: 0747-7171 databaseCode: AIEXJ dateStart: 19950101 isFulltext: true titleUrlDefault: https://www.sciencedirect.com providerName: Elsevier |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1La9wwEBbtpode-i5NX4jSU4uLLSuW1JtbUtKyhFLSsDcjSzLJku6G9Tok_z6j525SNjSHXowR9mD7G0Yz0udvEHrPCeNFV5UZhbkpo9qwTFJuso4oxSUxmjmx58Mx29_nk4n4GWjNvWsnwGYzfn4uTv8r1DAGYNtfZ28BdzIKA3AOoMMRYIfjPwFf267IjiDfReKV4xL2F39aKwJsuyypIXI66o9qDmX54MJeUhjfkLImE8r1griyiT8eAKTB5-QLk3gbv4beDR6eSL1yrqGfS78x4giVx-trDzCfJaZfCFFQjGRQEBbr8dR3ZgoBsfC_NYe5tfDB7K-w7VcQpp-mvVWVLLyeaqBXX5HIvjZ1JUJh5KpNGzDRWBNNzprctp_eImxH8BHaqr_vTn6sBJmpb74a3yDueDvu37Xn2JSz3D2Kq-8uGzl4hB4ETHDt4X-M7pjZE_QwtujAIWI_RV9qHLwBJ2_A4A04QomTN3zGNV7zBRx94Rn6_W334OteFtpmZKpkdJlJJsUOK0lOTdt1rSlMxapcQGDnhLZampaUkuba6JzqQouutVmrhMRP8q4TunyORrP5zLxAGOpJJdqiJS1XVLNO5m1XKmqgriaCm2ob5fHDNCpoytvWJifNRkC20Yd0y6kXVLnpYhq_dhMyQp_pNeA5N932DpBJ5q2C-l49buyYLSF4Jaoz8vI2D_IK3V_5_2s0Wi4G8wbdU2fL437xNvjWJbbRjMo |
| linkProvider | Elsevier |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=A+generic+framework+for+symbolic+execution%3A+A+coinductive+approach&rft.jtitle=Journal+of+symbolic+computation&rft.au=Lucanu%2C+Dorel&rft.au=Rusu%2C+Vlad&rft.au=Arusoaie%2C+Andrei&rft.date=2017-05-01&rft.issn=0747-7171&rft.volume=80&rft.spage=125&rft.epage=163&rft_id=info:doi/10.1016%2Fj.jsc.2016.07.012&rft.externalDBID=n%2Fa&rft.externalDocID=10_1016_j_jsc_2016_07_012 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0747-7171&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0747-7171&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0747-7171&client=summon |