Automation of C Program Deductive Verification without Using Loop Invariants
Automation of C program verification is an important problem in modern software development. To solve this problem, the solution of the following problems must be automated: loop invariants, proof of verification conditions, and localization of errors in the case of invalid verification conditions....
Gespeichert in:
| Veröffentlicht in: | Programming and computer software Jg. 48; H. 5; S. 331 - 346 |
|---|---|
| Hauptverfasser: | , |
| Format: | Journal Article |
| Sprache: | Englisch |
| Veröffentlicht: |
Moscow
Pleiades Publishing
01.10.2022
Springer Nature B.V |
| Schlagworte: | |
| ISSN: | 0361-7688, 1608-3261 |
| Online-Zugang: | Volltext |
| Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
| Abstract | Automation of C program verification is an important problem in modern software development. To solve this problem, the solution of the following problems must be automated: loop invariants, proof of verification conditions, and localization of errors in the case of invalid verification conditions. To this end, the C-lightVer system is under development in the Ershov Institute of Informatics Systems of the Siberian Branch of the Russian Academy of Sciences. This system uses an integrated approach to the automated deductive verification of C programs. This approach includes a symbolic method of verification of definite iterations for eliminating loop invariants, strategies for proving verification conditions, and a method for error localization. The symbolic method of verification of definite iterations is based on replacing the action of certain loops by the application of a special recursive function
rep.
The error localization method is based on matching the verification conditions to the source code and on generation of a report about the correspondence between the verification conditions and program fragments. Thus, the problem of automation of verification of C programs containing nested loops naturally arises. The application of the symbolic method of verification of definite iterations for such programs leads to a composition of the functions
rep
for outer and inner loops. A novel result obtained in this paper is a strategy of automation of proof of verification conditions for such programs. This strategy is based on induction on the index of iteration in the outer loop. To prove the induction step, another result obtained in this paper is used. This is a strategy for programs the specification of which contains functions with the concatenation property. The paper also describes strategies of error localization and modifications of the error localization method for the case of nested loops. These strategies are also used for verifying the loop properties that may indicate the presence of errors. As an example of applying the results obtained in this paper, automatic verification of insertion sort without loop invariants is considered. |
|---|---|
| AbstractList | Automation of C program verification is an important problem in modern software development. To solve this problem, the solution of the following problems must be automated: loop invariants, proof of verification conditions, and localization of errors in the case of invalid verification conditions. To this end, the C-lightVer system is under development in the Ershov Institute of Informatics Systems of the Siberian Branch of the Russian Academy of Sciences. This system uses an integrated approach to the automated deductive verification of C programs. This approach includes a symbolic method of verification of definite iterations for eliminating loop invariants, strategies for proving verification conditions, and a method for error localization. The symbolic method of verification of definite iterations is based on replacing the action of certain loops by the application of a special recursive function rep. The error localization method is based on matching the verification conditions to the source code and on generation of a report about the correspondence between the verification conditions and program fragments. Thus, the problem of automation of verification of C programs containing nested loops naturally arises. The application of the symbolic method of verification of definite iterations for such programs leads to a composition of the functions rep for outer and inner loops. A novel result obtained in this paper is a strategy of automation of proof of verification conditions for such programs. This strategy is based on induction on the index of iteration in the outer loop. To prove the induction step, another result obtained in this paper is used. This is a strategy for programs the specification of which contains functions with the concatenation property. The paper also describes strategies of error localization and modifications of the error localization method for the case of nested loops. These strategies are also used for verifying the loop properties that may indicate the presence of errors. As an example of applying the results obtained in this paper, automatic verification of insertion sort without loop invariants is considered. Automation of C program verification is an important problem in modern software development. To solve this problem, the solution of the following problems must be automated: loop invariants, proof of verification conditions, and localization of errors in the case of invalid verification conditions. To this end, the C-lightVer system is under development in the Ershov Institute of Informatics Systems of the Siberian Branch of the Russian Academy of Sciences. This system uses an integrated approach to the automated deductive verification of C programs. This approach includes a symbolic method of verification of definite iterations for eliminating loop invariants, strategies for proving verification conditions, and a method for error localization. The symbolic method of verification of definite iterations is based on replacing the action of certain loops by the application of a special recursive function rep. The error localization method is based on matching the verification conditions to the source code and on generation of a report about the correspondence between the verification conditions and program fragments. Thus, the problem of automation of verification of C programs containing nested loops naturally arises. The application of the symbolic method of verification of definite iterations for such programs leads to a composition of the functions rep for outer and inner loops. A novel result obtained in this paper is a strategy of automation of proof of verification conditions for such programs. This strategy is based on induction on the index of iteration in the outer loop. To prove the induction step, another result obtained in this paper is used. This is a strategy for programs the specification of which contains functions with the concatenation property. The paper also describes strategies of error localization and modifications of the error localization method for the case of nested loops. These strategies are also used for verifying the loop properties that may indicate the presence of errors. As an example of applying the results obtained in this paper, automatic verification of insertion sort without loop invariants is considered. |
| Author | Kondratyev, D. A. Nepomniaschy, V. A. |
| Author_xml | – sequence: 1 givenname: D. A. orcidid: 0000-0002-9387-6735 surname: Kondratyev fullname: Kondratyev, D. A. email: apple-66@mail.ru organization: A. P. Ershov Institute of Informatics Systems, Siberian Branch, Russian Academy of Sciences – sequence: 2 givenname: V. A. orcidid: 0000-0003-1364-5281 surname: Nepomniaschy fullname: Nepomniaschy, V. A. organization: A. P. Ershov Institute of Informatics Systems, Siberian Branch, Russian Academy of Sciences |
| BookMark | eNp1kN1LwzAUxYNMcJv-Ab4FfK7mq1n6OObXoKCgE99KmiY1wyUzSSf-97ZU8EF8uvdyfudcODMwcd5pAM4xusSYsqsnRDlecCEIQTlC-esRmGKOREYJxxMwHeRs0E_ALMYtQhghxqagXHbJ72Sy3kFv4Ao-Bt8GuYPXuulUsgcNX3SwxqqR-bTpzXcJbqJ1LSy938O1O8hgpUvxFBwb-R712c-cg83tzfPqPisf7tarZZkpXIiUccOE4nVOa8mIUVQbLYxeGFSLBplGFYbltab9TXkhJGuIoawZFsm5lorOwcWYuw_-o9MxVVvfBde_rEiBRV4QVvCewiOlgo8xaFPtg93J8FVhVA2lVX9K6z1k9MSeda0Ov8n_m74BpdtxhA |
| Cites_doi | 10.1016/j.jlamp.2018.05.003 10.4204/EPTCS.284.1 10.4204/EPTCS.338.10 10.1023/B:PACS.0000004134.24714.e5 10.1007/978-3-030-03421-4_15 10.1007/978-3-030-11932-4_7 10.1007/978-3-540-79980-1_12 10.3103/S0146411620070093 10.1007/s11086-005-0007-7 10.3103/S0146411614070141 10.1145/363235.363259 10.1109/ITNEC.2017.8284998 10.1145/3477355.3477359 10.3103/S0146411619070101 10.1145/2506375 10.4204/EPTCS.296.8 10.1134/S0361768820040027 10.1007/978-3-030-37487-7_20 10.1007/s10817-017-9426-4 10.1007/978-3-642-45221-5_27 10.1007/978-3-030-81688-9_42 10.1007/s10009-012-0223-4 10.1023/A:1021045909505 10.1109/TSE.2015.2431688 10.1109/ISPRAS.2018.00012 10.1007/978-3-030-41600-3_6 10.1007/s00165-019-00490-3 10.1007/978-3-030-20652-9_6 10.1007/s00165-019-00501-3 10.1007/978-3-319-73721-8_11 10.1007/978-3-030-40271-6_20 10.1145/3470569 10.1007/978-3-319-13338-6_8 10.1007/978-3-030-63461-2_14 10.1145/2489837.2489838 10.1016/j.entcs.2009.05.052 10.1007/978-3-030-23250-4_9 10.1134/S0361768816050054 10.1016/j.jlamp.2021.100645 10.1145/3453483.3454036 10.1145/3477355.3477362 10.1007/978-3-030-88701-8_20 10.1007/978-3-030-16722-6 10.1007/978-3-030-53291-8_14 |
| ContentType | Journal Article |
| Copyright | Pleiades Publishing, Ltd. 2022. ISSN 0361-7688, Programming and Computer Software, 2022, Vol. 48, No. 5, pp. 331–346. © Pleiades Publishing, Ltd., 2022. Russian Text © The Author(s), 2022, published in Programmirovanie, 2022, Vol. 48, No. 5. |
| Copyright_xml | – notice: Pleiades Publishing, Ltd. 2022. ISSN 0361-7688, Programming and Computer Software, 2022, Vol. 48, No. 5, pp. 331–346. © Pleiades Publishing, Ltd., 2022. Russian Text © The Author(s), 2022, published in Programmirovanie, 2022, Vol. 48, No. 5. |
| DBID | AAYXX CITATION 8FE 8FG AFKRA ARAPS AZQEC BENPR BGLVJ CCPQU DWQXO GNUQQ HCIFZ JQ2 K7- P5Z P62 PHGZM PHGZT PKEHL PQEST PQGLB PQQKQ PQUKI |
| DOI | 10.1134/S036176882205005X |
| DatabaseName | CrossRef ProQuest SciTech Collection ProQuest Technology Collection ProQuest Central UK/Ireland Advanced Technologies & Computer Science Collection ProQuest Central Essentials ProQuest Central Technology collection ProQuest One Community College ProQuest Central ProQuest Central Student SciTech Premium Collection ProQuest Computer Science Collection Computer Science Database ProQuest advanced technologies & aerospace journals ProQuest Advanced Technologies & Aerospace Collection ProQuest Central Premium ProQuest One Academic ProQuest One Academic Middle East (New) ProQuest One Academic Eastern Edition (DO NOT USE) ProQuest One Applied & Life Sciences ProQuest One Academic (retired) ProQuest One Academic UKI Edition |
| DatabaseTitle | CrossRef Advanced Technologies & Aerospace Collection Computer Science Database ProQuest Central Student Technology Collection ProQuest One Academic Middle East (New) ProQuest Advanced Technologies & Aerospace Collection ProQuest Central Essentials ProQuest Computer Science Collection ProQuest One Academic Eastern Edition SciTech Premium Collection ProQuest One Community College ProQuest Technology Collection ProQuest SciTech Collection ProQuest Central Advanced Technologies & Aerospace Database ProQuest One Applied & Life Sciences ProQuest One Academic UKI Edition ProQuest Central Korea ProQuest Central (New) ProQuest One Academic ProQuest One Academic (New) |
| DatabaseTitleList | Advanced Technologies & Aerospace Collection |
| Database_xml | – sequence: 1 dbid: P5Z name: ProQuest advanced technologies & aerospace journals url: https://search.proquest.com/hightechjournals sourceTypes: Aggregation Database |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 1608-3261 |
| EndPage | 346 |
| ExternalDocumentID | 10_1134_S036176882205005X |
| GroupedDBID | -59 -5G -BR -EM -Y2 -~C .86 .DC .VR 06D 0R~ 0VY 123 1N0 29P 2J2 2JN 2JY 2KG 2KM 2LR 2P1 2VQ 2~H 30V 4.4 406 408 409 40D 40E 5VS 67Z 6NX 8TC 95- 95. 95~ 96X AAAVM AABHQ AACDK AAHNG AAIAL AAJBT AAJKR AANZL AARHV AARTL AASML AATNV AATVU AAUYE AAWCG AAYIU AAYQN AAYTO AAYZH ABAKF ABBBX ABBXA ABDZT ABECU ABFTD ABFTV ABHQN ABJNI ABJOX ABKCH ABKTR ABMNI ABMQK ABNWP ABQBU ABQSL ABSXP ABTEG ABTHY ABTKH ABTMW ABULA ABWNU ABXPI ACAOD ACBXY ACDTI ACGFS ACHSB ACHXU ACKNC ACMDZ ACMLO ACOKC ACOMO ACPIV ACSNA ACZOJ ADHHG ADHIR ADINQ ADKNI ADKPE ADRFC ADTPH ADURQ ADYFF ADZKW AEBTG AEFQL AEGAL AEGNC AEJHL AEJRE AEMSY AENEX AEOHA AEPYU AETLH AEVLU AEXYK AFBBN AFGCZ AFKRA AFLOW AFQWF AFWTZ AFZKB AGAYW AGDGC AGJBK AGMZJ AGQMX AGRTI AGWIL AGWZB AGYKE AHAVH AHBYD AHKAY AHSBF AHYZX AIAKS AIGIU AIIXL AILAN AITGF AJBLW AJRNO ALMA_UNASSIGNED_HOLDINGS ALWAN AMKLP AMXSW AMYLF AMYQR AOCGG ARAPS ARMRJ ASPBG AVWKF AXYYD AZFZN B-. BA0 BDATZ BENPR BGLVJ BGNMA BSONS CAG CCPQU COF CS3 CSCUP DDRTE DL5 DNIVK DPUIP DU5 EBLON EBS EIOEI EJD ESBYG FEDTE FERAY FFXSO FIGPU FINBP FNLPD FRRFC FSGXE FWDCC GGCAI GGRSB GJIRD GNWQR GQ6 GQ7 GQ8 GXS H13 HCIFZ HF~ HG6 HMJXF HQYDN HRMNR HVGLF HZ~ IHE IJ- IKXTQ IWAJR IXC IXD IXE IZIGR IZQ I~X I~Z J-C JBSCW JCJTX JZLTJ K7- KDC KOV LAK LLZTM M4Y MA- N2Q NB0 NPVJJ NQJWS NU0 O9- O93 O9J OAM OVD P2P P9O PF0 PT4 QOS R89 R9I RIG RNI RNS ROL RPX RSV RZC RZE S16 S1Z S27 S3B SAP SCO SDH SHX SISQX SJYHP SNE SNPRN SNX SOHCF SOJ SPISZ SRMVM SSLCW STPWE SZN T13 TEORI TN5 TSG TSK TSV TUC U2A UG4 UOJIU UTJUX UZXMN VC2 VFIZW W23 W48 WK8 XU3 YLTOR Z7R Z7X Z83 Z88 ZMTXR ~A9 AAPKM AAYXX ABDBE ABFSG ABRTQ ACSTC ADHKG AEZWR AFDZB AFFHD AFHIU AFOHR AGQPQ AHPBZ AHWEU AIXLP ATHPR CITATION PHGZM PHGZT PQGLB 8FE 8FG AZQEC DWQXO GNUQQ JQ2 P62 PKEHL PQEST PQQKQ PQUKI |
| ID | FETCH-LOGICAL-c198t-6f48c6b53ba42fc3efe8fe7f0b8d0fdc9f45be3f0b3698a4d2f34d8a4da66eac3 |
| IEDL.DBID | P5Z |
| ISICitedReferencesCount | 0 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000853051800004&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 0361-7688 |
| IngestDate | Fri Nov 07 23:33:39 EST 2025 Sat Nov 29 04:55:44 EST 2025 Fri Feb 21 02:44:49 EST 2025 |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | 5 |
| Language | English |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-c198t-6f48c6b53ba42fc3efe8fe7f0b8d0fdc9f45be3f0b3698a4d2f34d8a4da66eac3 |
| Notes | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 14 |
| ORCID | 0000-0002-9387-6735 0000-0003-1364-5281 |
| PQID | 2918592496 |
| PQPubID | 2043762 |
| PageCount | 16 |
| ParticipantIDs | proquest_journals_2918592496 crossref_primary_10_1134_S036176882205005X springer_journals_10_1134_S036176882205005X |
| PublicationCentury | 2000 |
| PublicationDate | 20221000 2022-10-00 20221001 |
| PublicationDateYYYYMMDD | 2022-10-01 |
| PublicationDate_xml | – month: 10 year: 2022 text: 20221000 |
| PublicationDecade | 2020 |
| PublicationPlace | Moscow |
| PublicationPlace_xml | – name: Moscow – name: New York |
| PublicationTitle | Programming and computer software |
| PublicationTitleAbbrev | Program Comput Soft |
| PublicationYear | 2022 |
| Publisher | Pleiades Publishing Springer Nature B.V |
| Publisher_xml | – name: Pleiades Publishing – name: Springer Nature B.V |
| References | Denney, E. and Fischer, B., Explaining verification conditions, Proc. AMAST 2008. Lect. Notes Comput. Sci., 2008, vol. 5140, pp. 145–159. Blanchard, A., Loulergue, F., and Kosmatov, N., Towards full proof automation in Frama-C using auto-active verification, Proc. NFM 2019. Lect. Notes Comput. Sci., 2019, vol. 11460, pp. 88–105. BeckerB.LourençoC.B.MarchéC.Explaining counterexamples with giant-step assertion checking, Proc. F-IDE 2021.Electron. Proc. Theor. Comput. Sci.2021338828810.4204/EPTCS.338.10 MooreJ.S.Milestones from the pure lisp theorem prover to ACL2Formal Aspects Comput.201931699732403904010.1007/s00165-019-00490-3 Sammler, M., Lepigre, R., Krebbers, R., Memarian, K., Dreyer, D., and Garg, D., RefinedC: Automating the foundational verification of C code with refined ownership types, Proc. 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation, 2021, pp. 158–174. Imine, A. and Ranise, S., Building satisfiability procedures for verification: The case study of sorting algorithms, Proc. LOPSTR’03, 2003. DaillerS.MarchéC.MoyY.Lightweight interactive proving inside an automatic program verifier, Proc. F-IDE 2018Electron. Proc. in Theoretical Computer Science201828411510.4204/EPTCS.284.1 HähnleR.HuismanM.Deductive software verification: From pen-and-paper proofs to industrial tools, Comput.20191482.68139 Raad, A., Berdine, J., Dang, H.H., Dreyer, D., O’Hearn, P., and Villard, J., Local reasoning about the presence of bugs: Incorrectness separation logic, Proc. CAV 2020. Lect. Notes Comput. Sci., 2020, vol. 12225, pp. 225–252. BaudinP.BobotF.BühlerD.CorrensonL.KirchnerF.KosmatovN.MaronezeA.PerrelleV.PrevostoV.SignolesJ.WilliamsN.The dogged pursuit of bug-free C programs: the Frama-C software analysis platformCommun. ACM202164566810.1145/3470569 SrivastavaS.GulwaniS.FosterJ.S.Template-based program verification and program synthesisInt. J. Software Tools Technol. Transfer20131549751810.1007/s10009-012-0223-4 Maryasov, I.V., Nepomniaschy, V.A., Promsky, A.V., and Kondratyev, D.A., Automatic C program verification based on mixed axiomatic semantics Autom. Control Comput. Sci., 2014, vol. 48, pp. 407–414. Kondratyev, D., Maryasov, I., and Nepomniaschy, V., Towards automatic deductive verification of C programs over linear arrays, Proc. PSI 2019. Lect. Notes Comput. Sci., 2019, vol. 11964, pp. 232–242. Volkov, G., Mandrykin, M., and Efremov, D., Lemma functions for Frama-C: C programs as proofs, Proc. 2018 Ivannikov ISP RAS Open Conference, 2018, pp. 31–38. NepomniaschyV.A.AnureevI.S.MikhailovI.N.PromskiiA.V.Towards verification of C programs. C-light language and its formal semanticsProgram. Comput. Software200228314323202363110.1023/A:1021045909505 Filliâtre, J.-C., Simpler proofs with decentralized invariants, J. Logical Algebraic Methods Program., 2021, vol. 121, Article ID: 100645. Jiang, D., and Zhou, M., A comparative study of insertion sorting algorithm verification, Proc. 2017 IEEE 2nd Information Technology, Networking, Electronic and Automation Control Conference, 2017, pp. 321–325. Humenberger, A., Jaroschek, M., and Kovács, L., Invariant generation for multi-path loops with polynomial assignments, Proc. VMCAI 2018. Lect. Notes Comput. Sci., 2018, vol. 10747, pp. 226–246. KondratyevD.A.PromskyA.V.The complex approach of the C-lightVer system to the automated error localization in C-ProgramsAutom. Control Comput. Sci.20205472873910.3103/S0146411620070093 NepomniaschyV.A.Symbolic method of verification of definite iterations over altered data structuresProgram. Comput. Software20053119214113110.1007/s11086-005-0007-7 de AngelisE.FioravantiF.PettorossiA.ProiettiM.Proving properties of sorting programs: A case study in Horn clause verification, Proc. HCVS/PERR 2019.Electron. Proc. Theor. Comput. Sci.2019296487510.4204/EPTCS.296.8 de Carvalho, D., Hussain, R., Khan, A., Khazeev, M., Lee, JY., Masiagin, S., Mazzara, M., Mustafin, R., Naumchev, A., and Rivera, V., Teaching programming and design-by-contract, Proc. ICL 2018, Advances in Intelligent Systems and Computing, 2020, vol. 916, pp. 68–76. KondratyevD.A.MaryasovI.V.NepomniaschyV.A.The automation of C Program verification by the symbolic method of loop invariant eliminationAutom. Control Comput. Sci.20195365366210.3103/S0146411619070101 DaillerS.HauzarD.MarchéC.MoyY.Instrumenting a weakest precondition calculus for counterexample generationJ. Logical Algebraic Methods Program.20189997113381116810.1016/j.jlamp.2018.05.003 MandrykinM.U.KhoroshilovA.V.Towards deductive verification of C programs with shared dataProgram. Comput. Software20164232433210.1134/S0361768816050054 AnureevI.S.GaraninaN.O.LyakhT.V.RozovA.S.ZyubinV.E.GorlatchS.P.Dedicative verification of Reflex programsProgram. Comput. Software202046261272413686710.1134/S0361768820040027 NepomniaschyV.A.AnureevI.S.PromskiiA.V.Towards verification of C programs: Axiomatic semantics of the C-kernel languageProgram. Comput. Software200329338350208279210.1023/B:PACS.0000004134.24714.e5 Müller, P. and Shankar, N., The first fifteen years of the verified software project, Theories of Programming: The Life and Works of Tony Hoare, 2021, pp. 93–124. Furia, C.A., Meyer, B., and Velder, S., Loop invariants: Analysis, classification, and examples, ACM Comput. Surveys, 2014, vol. 46, no. 3, Article 34, pp. 1–51. Blanc, R., Kuncak, V., Kneuss, E., and Suter, P., An overview of the Leon verification system: verification by translation to recursive functions, Proc. 4th Workshop on Scala. 2013. Article 1, pp. 1–10. Safari, M. and Huisman, M., A Generic approach to the verification of the permutation property of sequential and parallel swap-based sorting algorithms, Proc. IFM 2020. Lect. Notes Comput. Sci., 2020, vol. 12546, pp. 257–275. Tuerk, T., Local reasoning about while-loops, Proc. Theory Workshop at VSTTE 2010, 2010, pp. 29–39. Kondratyev, D.A., Automatic verification of insertion sorting. https://bitbucket.org/Kondratyev/verify-loops. Cited November 11, 2021. Filliâtre, J.–C. and Magaud, N., Certification of sorting algorithms in the Coq system, Proc. conf. on “Theorem Proving in Higher Order Logics: Emerging Trends,” Nice, 1999. AptK.R.OlderogE.-R.Fifty years of Hoare’s logicFormal Aspects Comput.201931751807403904210.1007/s00165-019-00501-3 Apt, K.R. and Olderog, E.-R., Assessing the success and impact of Hoare’s logic, Theories of Programming: The Life and Works of Tony Hoare, 2021, pp. 41–76. de GouwS.de BoerF.S.BubelR.HähnleR.RotJ.SteinhöfelD.Verifying OpenJDK’s sort method for generic collectionsJ. Autom. Reasoning20196293126390195610.1007/s10817-017-9426-4 Efremov, D., Mandrykin, M., and Khoroshilov, A., Deductive verification of unmodified Linux kernel library functions, Proc. ISoLA 2018, Lect. Notes Comput. Sci., 2018, vol. 11245, pp. 216–234. HoareC.A.R.An axiomatic basis for computer programmingCommun. ACM19691257658010.1145/363235.363259 MyreenM.O.GordonM.J.C.Transforming programs into recursive functionsElectron. Notes Theor. Comput. Sci.200924018520010.1016/j.entcs.2009.05.052 Chakraborty, S., Gupta, A., and Unadkat, D., Inductive reasoning of array programs using difference invariants, Proc. of CAV 2021. Lect. Notes Comput. Sci., 2021, vol. 12760, pp. 911–935. Khazeev, M., Mazzara, M., Aslam, H., and de Carvalho, D., Towards a broader acceptance of formal verification tools, Proc. ICL 2019. Advances in Intelligent Systems and Computing, 2020, vol . 1135, pp. 188–200. GaleottiJ.P.FuriaC.A.MayE.FraserG.ZellerA.Inferring loop invariants by mutation, dynamic analysis, and static checkingIEEE Trans. Software Eng.2015411019103710.1109/TSE.2015.2431688 Könighofer, R., Toegl, R., and Bloem, R., Automatic error localization for software using deductive verification, Proc. HVC 2014. Lect. Notes Comput. Sci., 2014, vol. 8855, pp. 92–98. Johansson, M., Lemma discovery for induction, Proc. CICM 2019. Lect. Notes Comput. Sci., 2019, vol. 11617, pp. 125–139. Heras, J., Komendantskaya, E., Johansson, M., and Maclean, E., Proof-pattern recognition and lemma discovery in ACL2, Proc. LPAR 2013. Lect. Notes Comput. Sci., 2013, vol. 8312, pp. 389–406. Grebing, S., Klamroth, J., and Ulbrich, M., Seamless Interactive Program Verification, Proc. VSTTE 2019. Lect. Notes Comput. Sci., 2020. vol. 12031, pp. 68–86. Möller, B., O’Hearn, P., and Hoare, T., On algebra of program correctness and incorrectness, Proc. RAMiCS 2021. Lect. Notes Comput. Sci., 2021, vol. 13027, pp. 325–343. P. Baudin (3680_CR29) 2021; 64 K.R. Apt (3680_CR5) 2019; 31 D.A. Kondratyev (3680_CR9) 2019; 53 3680_CR7 J.P. Galeotti (3680_CR18) 2015; 41 3680_CR8 M.O. Myreen (3680_CR14) 2009; 240 3680_CR3 3680_CR4 3680_CR40 3680_CR20 3680_CR42 3680_CR41 S. Srivastava (3680_CR19) 2013; 15 3680_CR22 S. Dailler (3680_CR31) 2018; 99 3680_CR44 3680_CR21 3680_CR43 I.S. Anureev (3680_CR47) 2020; 46 R. Hähnle (3680_CR2) 2019 3680_CR24 3680_CR23 3680_CR26 3680_CR48 3680_CR25 3680_CR28 3680_CR27 S. Dailler (3680_CR38) 2018; 284 V.A. Nepomniaschy (3680_CR46) 2003; 29 V.A. Nepomniaschy (3680_CR12) 2005; 31 M.U. Mandrykin (3680_CR39) 2016; 42 V.A. Nepomniaschy (3680_CR45) 2002; 28 C.A.R. Hoare (3680_CR6) 1969; 12 E. de Angelis (3680_CR30) 2019; 296 3680_CR1 3680_CR33 3680_CR10 B. Becker (3680_CR32) 2021; 338 D.A. Kondratyev (3680_CR11) 2020; 54 3680_CR34 3680_CR15 S. de Gouw (3680_CR35) 2019; 62 3680_CR37 3680_CR36 3680_CR17 3680_CR16 J.S. Moore (3680_CR13) 2019; 31 |
| References_xml | – reference: HähnleR.HuismanM.Deductive software verification: From pen-and-paper proofs to industrial tools, Comput.20191482.68139 – reference: HoareC.A.R.An axiomatic basis for computer programmingCommun. ACM19691257658010.1145/363235.363259 – reference: DaillerS.MarchéC.MoyY.Lightweight interactive proving inside an automatic program verifier, Proc. F-IDE 2018Electron. Proc. in Theoretical Computer Science201828411510.4204/EPTCS.284.1 – reference: Filliâtre, J.–C. and Magaud, N., Certification of sorting algorithms in the Coq system, Proc. conf. on “Theorem Proving in Higher Order Logics: Emerging Trends,” Nice, 1999. – reference: Könighofer, R., Toegl, R., and Bloem, R., Automatic error localization for software using deductive verification, Proc. HVC 2014. Lect. Notes Comput. Sci., 2014, vol. 8855, pp. 92–98. – reference: Möller, B., O’Hearn, P., and Hoare, T., On algebra of program correctness and incorrectness, Proc. RAMiCS 2021. Lect. Notes Comput. Sci., 2021, vol. 13027, pp. 325–343. – reference: NepomniaschyV.A.AnureevI.S.MikhailovI.N.PromskiiA.V.Towards verification of C programs. C-light language and its formal semanticsProgram. Comput. Software200228314323202363110.1023/A:1021045909505 – reference: Volkov, G., Mandrykin, M., and Efremov, D., Lemma functions for Frama-C: C programs as proofs, Proc. 2018 Ivannikov ISP RAS Open Conference, 2018, pp. 31–38. – reference: GaleottiJ.P.FuriaC.A.MayE.FraserG.ZellerA.Inferring loop invariants by mutation, dynamic analysis, and static checkingIEEE Trans. Software Eng.2015411019103710.1109/TSE.2015.2431688 – reference: MyreenM.O.GordonM.J.C.Transforming programs into recursive functionsElectron. Notes Theor. Comput. Sci.200924018520010.1016/j.entcs.2009.05.052 – reference: Safari, M. and Huisman, M., A Generic approach to the verification of the permutation property of sequential and parallel swap-based sorting algorithms, Proc. IFM 2020. Lect. Notes Comput. Sci., 2020, vol. 12546, pp. 257–275. – reference: de Carvalho, D., Hussain, R., Khan, A., Khazeev, M., Lee, JY., Masiagin, S., Mazzara, M., Mustafin, R., Naumchev, A., and Rivera, V., Teaching programming and design-by-contract, Proc. ICL 2018, Advances in Intelligent Systems and Computing, 2020, vol. 916, pp. 68–76. – reference: Blanc, R., Kuncak, V., Kneuss, E., and Suter, P., An overview of the Leon verification system: verification by translation to recursive functions, Proc. 4th Workshop on Scala. 2013. Article 1, pp. 1–10. – reference: Imine, A. and Ranise, S., Building satisfiability procedures for verification: The case study of sorting algorithms, Proc. LOPSTR’03, 2003. – reference: MooreJ.S.Milestones from the pure lisp theorem prover to ACL2Formal Aspects Comput.201931699732403904010.1007/s00165-019-00490-3 – reference: BaudinP.BobotF.BühlerD.CorrensonL.KirchnerF.KosmatovN.MaronezeA.PerrelleV.PrevostoV.SignolesJ.WilliamsN.The dogged pursuit of bug-free C programs: the Frama-C software analysis platformCommun. ACM202164566810.1145/3470569 – reference: Raad, A., Berdine, J., Dang, H.H., Dreyer, D., O’Hearn, P., and Villard, J., Local reasoning about the presence of bugs: Incorrectness separation logic, Proc. CAV 2020. Lect. Notes Comput. Sci., 2020, vol. 12225, pp. 225–252. – reference: SrivastavaS.GulwaniS.FosterJ.S.Template-based program verification and program synthesisInt. J. Software Tools Technol. Transfer20131549751810.1007/s10009-012-0223-4 – reference: KondratyevD.A.MaryasovI.V.NepomniaschyV.A.The automation of C Program verification by the symbolic method of loop invariant eliminationAutom. Control Comput. Sci.20195365366210.3103/S0146411619070101 – reference: Denney, E. and Fischer, B., Explaining verification conditions, Proc. AMAST 2008. Lect. Notes Comput. Sci., 2008, vol. 5140, pp. 145–159. – reference: KondratyevD.A.PromskyA.V.The complex approach of the C-lightVer system to the automated error localization in C-ProgramsAutom. Control Comput. Sci.20205472873910.3103/S0146411620070093 – reference: Blanchard, A., Loulergue, F., and Kosmatov, N., Towards full proof automation in Frama-C using auto-active verification, Proc. NFM 2019. Lect. Notes Comput. Sci., 2019, vol. 11460, pp. 88–105. – reference: Apt, K.R. and Olderog, E.-R., Assessing the success and impact of Hoare’s logic, Theories of Programming: The Life and Works of Tony Hoare, 2021, pp. 41–76. – reference: de AngelisE.FioravantiF.PettorossiA.ProiettiM.Proving properties of sorting programs: A case study in Horn clause verification, Proc. HCVS/PERR 2019.Electron. Proc. Theor. Comput. Sci.2019296487510.4204/EPTCS.296.8 – reference: NepomniaschyV.A.AnureevI.S.PromskiiA.V.Towards verification of C programs: Axiomatic semantics of the C-kernel languageProgram. Comput. Software200329338350208279210.1023/B:PACS.0000004134.24714.e5 – reference: AnureevI.S.GaraninaN.O.LyakhT.V.RozovA.S.ZyubinV.E.GorlatchS.P.Dedicative verification of Reflex programsProgram. Comput. Software202046261272413686710.1134/S0361768820040027 – reference: Kondratyev, D.A., Automatic verification of insertion sorting. https://bitbucket.org/Kondratyev/verify-loops. Cited November 11, 2021. – reference: Maryasov, I.V., Nepomniaschy, V.A., Promsky, A.V., and Kondratyev, D.A., Automatic C program verification based on mixed axiomatic semantics Autom. Control Comput. Sci., 2014, vol. 48, pp. 407–414. – reference: NepomniaschyV.A.Symbolic method of verification of definite iterations over altered data structuresProgram. Comput. Software20053119214113110.1007/s11086-005-0007-7 – reference: Heras, J., Komendantskaya, E., Johansson, M., and Maclean, E., Proof-pattern recognition and lemma discovery in ACL2, Proc. LPAR 2013. Lect. Notes Comput. Sci., 2013, vol. 8312, pp. 389–406. – reference: Grebing, S., Klamroth, J., and Ulbrich, M., Seamless Interactive Program Verification, Proc. VSTTE 2019. Lect. Notes Comput. Sci., 2020. vol. 12031, pp. 68–86. – reference: Chakraborty, S., Gupta, A., and Unadkat, D., Inductive reasoning of array programs using difference invariants, Proc. of CAV 2021. Lect. Notes Comput. Sci., 2021, vol. 12760, pp. 911–935. – reference: Müller, P. and Shankar, N., The first fifteen years of the verified software project, Theories of Programming: The Life and Works of Tony Hoare, 2021, pp. 93–124. – reference: Furia, C.A., Meyer, B., and Velder, S., Loop invariants: Analysis, classification, and examples, ACM Comput. Surveys, 2014, vol. 46, no. 3, Article 34, pp. 1–51. – reference: Johansson, M., Lemma discovery for induction, Proc. CICM 2019. Lect. Notes Comput. Sci., 2019, vol. 11617, pp. 125–139. – reference: Filliâtre, J.-C., Simpler proofs with decentralized invariants, J. Logical Algebraic Methods Program., 2021, vol. 121, Article ID: 100645. – reference: MandrykinM.U.KhoroshilovA.V.Towards deductive verification of C programs with shared dataProgram. Comput. Software20164232433210.1134/S0361768816050054 – reference: Sammler, M., Lepigre, R., Krebbers, R., Memarian, K., Dreyer, D., and Garg, D., RefinedC: Automating the foundational verification of C code with refined ownership types, Proc. 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation, 2021, pp. 158–174. – reference: DaillerS.HauzarD.MarchéC.MoyY.Instrumenting a weakest precondition calculus for counterexample generationJ. Logical Algebraic Methods Program.20189997113381116810.1016/j.jlamp.2018.05.003 – reference: de GouwS.de BoerF.S.BubelR.HähnleR.RotJ.SteinhöfelD.Verifying OpenJDK’s sort method for generic collectionsJ. Autom. Reasoning20196293126390195610.1007/s10817-017-9426-4 – reference: Kondratyev, D., Maryasov, I., and Nepomniaschy, V., Towards automatic deductive verification of C programs over linear arrays, Proc. PSI 2019. Lect. Notes Comput. Sci., 2019, vol. 11964, pp. 232–242. – reference: AptK.R.OlderogE.-R.Fifty years of Hoare’s logicFormal Aspects Comput.201931751807403904210.1007/s00165-019-00501-3 – reference: Khazeev, M., Mazzara, M., Aslam, H., and de Carvalho, D., Towards a broader acceptance of formal verification tools, Proc. ICL 2019. Advances in Intelligent Systems and Computing, 2020, vol . 1135, pp. 188–200. – reference: Jiang, D., and Zhou, M., A comparative study of insertion sorting algorithm verification, Proc. 2017 IEEE 2nd Information Technology, Networking, Electronic and Automation Control Conference, 2017, pp. 321–325. – reference: Efremov, D., Mandrykin, M., and Khoroshilov, A., Deductive verification of unmodified Linux kernel library functions, Proc. ISoLA 2018, Lect. Notes Comput. Sci., 2018, vol. 11245, pp. 216–234. – reference: Humenberger, A., Jaroschek, M., and Kovács, L., Invariant generation for multi-path loops with polynomial assignments, Proc. VMCAI 2018. Lect. Notes Comput. Sci., 2018, vol. 10747, pp. 226–246. – reference: BeckerB.LourençoC.B.MarchéC.Explaining counterexamples with giant-step assertion checking, Proc. F-IDE 2021.Electron. Proc. Theor. Comput. Sci.2021338828810.4204/EPTCS.338.10 – reference: Tuerk, T., Local reasoning about while-loops, Proc. Theory Workshop at VSTTE 2010, 2010, pp. 29–39. – volume: 99 start-page: 97 year: 2018 ident: 3680_CR31 publication-title: J. Logical Algebraic Methods Program. doi: 10.1016/j.jlamp.2018.05.003 – ident: 3680_CR23 – volume: 284 start-page: 1 year: 2018 ident: 3680_CR38 publication-title: Electron. Proc. in Theoretical Computer Science doi: 10.4204/EPTCS.284.1 – volume: 338 start-page: 82 year: 2021 ident: 3680_CR32 publication-title: Electron. Proc. Theor. Comput. Sci. doi: 10.4204/EPTCS.338.10 – volume: 29 start-page: 338 year: 2003 ident: 3680_CR46 publication-title: Program. Comput. Software doi: 10.1023/B:PACS.0000004134.24714.e5 – ident: 3680_CR40 doi: 10.1007/978-3-030-03421-4_15 – ident: 3680_CR41 doi: 10.1007/978-3-030-11932-4_7 – ident: 3680_CR7 doi: 10.1007/978-3-540-79980-1_12 – volume: 54 start-page: 728 year: 2020 ident: 3680_CR11 publication-title: Autom. Control Comput. Sci. doi: 10.3103/S0146411620070093 – volume: 31 start-page: 1 year: 2005 ident: 3680_CR12 publication-title: Program. Comput. Software doi: 10.1007/s11086-005-0007-7 – ident: 3680_CR8 doi: 10.3103/S0146411614070141 – volume: 12 start-page: 576 year: 1969 ident: 3680_CR6 publication-title: Commun. ACM doi: 10.1145/363235.363259 – ident: 3680_CR44 doi: 10.1109/ITNEC.2017.8284998 – ident: 3680_CR1 doi: 10.1145/3477355.3477359 – volume: 53 start-page: 653 year: 2019 ident: 3680_CR9 publication-title: Autom. Control Comput. Sci. doi: 10.3103/S0146411619070101 – ident: 3680_CR4 doi: 10.1145/2506375 – ident: 3680_CR26 – volume: 296 start-page: 48 year: 2019 ident: 3680_CR30 publication-title: Electron. Proc. Theor. Comput. Sci. doi: 10.4204/EPTCS.296.8 – volume: 46 start-page: 261 year: 2020 ident: 3680_CR47 publication-title: Program. Comput. Software doi: 10.1134/S0361768820040027 – ident: 3680_CR10 doi: 10.1007/978-3-030-37487-7_20 – volume: 62 start-page: 93 year: 2019 ident: 3680_CR35 publication-title: J. Autom. Reasoning doi: 10.1007/s10817-017-9426-4 – ident: 3680_CR22 doi: 10.1007/978-3-642-45221-5_27 – ident: 3680_CR17 doi: 10.1007/978-3-030-81688-9_42 – volume: 15 start-page: 497 year: 2013 ident: 3680_CR19 publication-title: Int. J. Software Tools Technol. Transfer doi: 10.1007/s10009-012-0223-4 – volume: 28 start-page: 314 year: 2002 ident: 3680_CR45 publication-title: Program. Comput. Software doi: 10.1023/A:1021045909505 – volume: 41 start-page: 1019 year: 2015 ident: 3680_CR18 publication-title: IEEE Trans. Software Eng. doi: 10.1109/TSE.2015.2431688 – ident: 3680_CR27 doi: 10.1109/ISPRAS.2018.00012 – ident: 3680_CR37 doi: 10.1007/978-3-030-41600-3_6 – volume: 31 start-page: 699 year: 2019 ident: 3680_CR13 publication-title: Formal Aspects Comput. doi: 10.1007/s00165-019-00490-3 – ident: 3680_CR24 – ident: 3680_CR28 doi: 10.1007/978-3-030-20652-9_6 – volume: 31 start-page: 751 year: 2019 ident: 3680_CR5 publication-title: Formal Aspects Comput. doi: 10.1007/s00165-019-00501-3 – ident: 3680_CR16 doi: 10.1007/978-3-319-73721-8_11 – ident: 3680_CR42 doi: 10.1007/978-3-030-40271-6_20 – volume: 64 start-page: 56 year: 2021 ident: 3680_CR29 publication-title: Commun. ACM doi: 10.1145/3470569 – ident: 3680_CR33 doi: 10.1007/978-3-319-13338-6_8 – ident: 3680_CR25 doi: 10.1007/978-3-030-63461-2_14 – ident: 3680_CR15 doi: 10.1145/2489837.2489838 – volume: 240 start-page: 185 year: 2009 ident: 3680_CR14 publication-title: Electron. Notes Theor. Comput. Sci. doi: 10.1016/j.entcs.2009.05.052 – ident: 3680_CR21 doi: 10.1007/978-3-030-23250-4_9 – volume: 42 start-page: 324 year: 2016 ident: 3680_CR39 publication-title: Program. Comput. Software doi: 10.1134/S0361768816050054 – ident: 3680_CR20 doi: 10.1016/j.jlamp.2021.100645 – ident: 3680_CR43 doi: 10.1145/3453483.3454036 – ident: 3680_CR3 doi: 10.1145/3477355.3477362 – ident: 3680_CR36 doi: 10.1007/978-3-030-88701-8_20 – volume-title: Deductive software verification: From pen-and-paper proofs to industrial tools, Comput. year: 2019 ident: 3680_CR2 doi: 10.1007/978-3-030-16722-6 – ident: 3680_CR34 doi: 10.1007/978-3-030-53291-8_14 – ident: 3680_CR48 |
| SSID | ssj0010044 |
| Score | 2.225184 |
| Snippet | Automation of C program verification is an important problem in modern software development. To solve this problem, the solution of the following problems must... |
| SourceID | proquest crossref springer |
| SourceType | Aggregation Database Index Database Publisher |
| StartPage | 331 |
| SubjectTerms | Artificial Intelligence Automation Computer Science Errors Integrated approach Invariants Linear algebra Localization Localization method Machine learning Nested loops Operating Systems Program verification (computers) Recursive functions Software development Software Engineering Software Engineering/Programming and Operating Systems Source code |
| SummonAdditionalLinks | – databaseName: SpringerLINK Contemporary 1997-Present dbid: RSV link: http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV07T8MwED5BYWChPEV5yQMTyCKJHdceq0IFUlVVKlTdosSxJZakatP-fs55UPEaYEqiWKfocr77zvcCuAlN6MeBsDQxXUt54MVUKm5pwBO8arQ6uuwzO-yORnI2U-O6jnvZZLs3IclSU1dzR_j9BHWtj-BYutJQlJ3ZNuyErgOSc9En04_QgQtRVgFKn7rldSjzRxKfjdEGYX4Jipa2ZtD-11cewH4NLUmvkoVD2DLZEbSbsQ2k3sXHMOytiryqWCS5JX0yrnK0yINr4-rUH5miXNr6NI-4o9p8VZAyu4AM83xOnrM1-tguheYEXgePL_0nWg9VoNpXsqDCcqlFErIk5oHVzFgjLf4nL5GpZ1OtLA8Tw_CZCSVjngaW8dTdxEKglman0MryzJwBiZXQPNSGx4gRELkpz0090ggCEqZTITpw23A3mle9M6LS52A8-sanDlw2_I_qbbSMAoVwwnmISOuu4ffm9a_Ezv-0-gL2AlfUUKboXUKrWKzMFezqdfG2XFyX0vUOjTPJEQ priority: 102 providerName: Springer Nature |
| Title | Automation of C Program Deductive Verification without Using Loop Invariants |
| URI | https://link.springer.com/article/10.1134/S036176882205005X https://www.proquest.com/docview/2918592496 |
| Volume | 48 |
| WOSCitedRecordID | wos000853051800004&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: PRVPQU databaseName: Computer Science Database customDbUrl: eissn: 1608-3261 dateEnd: 20241214 omitProxy: false ssIdentifier: ssj0010044 issn: 0361-7688 databaseCode: K7- dateStart: 20000101 isFulltext: true titleUrlDefault: http://search.proquest.com/compscijour providerName: ProQuest – providerCode: PRVPQU databaseName: ProQuest advanced technologies & aerospace journals customDbUrl: eissn: 1608-3261 dateEnd: 20241214 omitProxy: false ssIdentifier: ssj0010044 issn: 0361-7688 databaseCode: P5Z dateStart: 20000101 isFulltext: true titleUrlDefault: https://search.proquest.com/hightechjournals providerName: ProQuest – providerCode: PRVPQU databaseName: ProQuest Central customDbUrl: eissn: 1608-3261 dateEnd: 20241214 omitProxy: false ssIdentifier: ssj0010044 issn: 0361-7688 databaseCode: BENPR dateStart: 20000101 isFulltext: true titleUrlDefault: https://www.proquest.com/central providerName: ProQuest – providerCode: PRVAVX databaseName: SpringerLINK Contemporary 1997-Present customDbUrl: eissn: 1608-3261 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0010044 issn: 0361-7688 databaseCode: RSV dateStart: 20000101 isFulltext: true titleUrlDefault: https://link.springer.com/search?facet-content-type=%22Journal%22 providerName: Springer Nature |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpR1NS8Mw9OHUgxe_xekcOXhSwromzdqT-DFRHKM4HcNLadMEvLRz6_z95rWpQ0UvXvqRQijvvbzvD4BTT3nd2BWaJqqnKXedmPoB19TliblLI3Vk2Wd20BsO_ckkCK3DbW7TKmueWDLqNJfoI--4gZEsaCyIi-kbxalRGF21IzQasIZdEnB0Q-i9fEYRMFpZxSq71KjVvo1qdhnvjHAR17DQ1FDi5KtcWiqb3-Kjpdi53frvD2_DplU4yWVFITuworJd2KqHORB7tvdgcLko8qqOkeSaXJOwytwiN9jcFZkiGRtq1dbHR9CBmy8KUuYckEGeT8l99m4sb0ys2Yfn2_7T9R21oxao7AZ-QYXmvhSJx5KYu1oypZWvDfacxE8dncpAcy9RzLwzEfgxT13NeIoPsRCGd7MDWM3yTB0CiQMhuScVj43mYPS5wMFZSNKoBgmTqRBNOKsBHU2rjhpRaYkwHv3AShNaNXAje7jm0RKyTTiv0bP8_OtmR39vdgwbLtY2lJl6LVgtZgt1AuvyvXidz9qwdtUfho9taDz0aLukM3N9HI0_AI_P168 |
| linkProvider | ProQuest |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw1R1LS8Mw-MMX6MW3OJ2ag16U4JakWXsQER9srA7BB7vVNk3ASztdp_in_I1-6cOhojcPntqmEJp-7zfArqOdZsikoZFuGSpYI6SuJwxlIsKrQqmj8j6zfqvXc_t972oC3qpaGJtWWfHEnFHHqbI-8kPmoWSxxoI8HjxSOzXKRlerERoFWnT16wuabMOjzhnCd4-xi_Ob0zYtpwpQhQZ2RqURrpKRw6NQMKO4Nto1-KGNyI0bJlaeEU6kOT5z6bmhiJnhIrY3oZTIpjjuOwnTgrvS9urvtuhH1MJGR4vYaJOiGu-WUdQmF4fXdtGu2cJWxPz-Zzk4Vm6_xGNzMXex8N9-0CLMlwo1OSkoYAkmdLIMC9WwClLyrhXwT0ZZWtRpktSQU3JVZKaRM9u81jJ9cofUaEofJrEO6nSUkTyngvhpOiCd5DlEek2y4Src_smZ1mAqSRO9DiT0pBKO0iJEzQj1Va9hZz0pVH0irmIpa7BfATYYFB1DgtzS4iL4hgU1qFfADErmMQzGkKzBQYUO49c_brbx-2Y7MNu-ufQDv9PrbsIcs3UceVZiHaayp5Heghn1nD0Mn7ZzrCZw_9dY8g7zeTXK |
| linkToPdf | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV3NT8IwFH9RNMaL-BlR1B48aRrY2pXuSEAicSFElHBbtq5NvGwEBn-_7dZJ_DoYT9vSplleX9_7vb4vgFtPek7kMoVj2VGYuu0Ic58q7NJYP4XWOqKoMxt0RiM-m_lj2-d0WUW7Vy7JMqfBVGlK89Y8UbYHCW1NtNx1NFDmJk1U89FsG3aoNmQMiz9Pph9uBOOuLJ2VDjbTrVvzxyU-K6YN2vziIC30zqD-7z8-hAMLOVG35JEj2JLpMdSrdg7Inu4TCLqrPCszGVGmUA-Ny9gt1DflXY1YRFPNr8re8iFzhZutclREHaAgy-ZomK617W1Ca07hdfDw0nvEttkCFo7Pc8wU5YLFHokj6ipBpJJc6f1rxzxpq0T4inqxJPqbMJ9HNHEVoYl5iRjT0pucQS3NUnkOKPKZoJ6QNNLYQSM6v226IQkNDmIiEsYacFdROpyXNTXCwhYhNPxGpwY0q70I7fFahq6vYYaxHPVa9xXtN8O_Lnbxp9k3sDfuD8JgOHq6hH3X5D0UUXxNqOWLlbyCXbHO35aL64Lp3gFIDtTZ |
| 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=Automation+of+C+Program+Deductive+Verification+without+Using+Loop+Invariants&rft.jtitle=Programming+and+computer+software&rft.au=Kondratyev%2C+D.+A.&rft.au=Nepomniaschy%2C+V.+A.&rft.date=2022-10-01&rft.issn=0361-7688&rft.eissn=1608-3261&rft.volume=48&rft.issue=5&rft.spage=331&rft.epage=346&rft_id=info:doi/10.1134%2FS036176882205005X&rft.externalDBID=n%2Fa&rft.externalDocID=10_1134_S036176882205005X |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0361-7688&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0361-7688&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0361-7688&client=summon |