Decomposing Software Verification using Distributed Summary Synthesis
There are many approaches for automated software verification, but they are either imprecise, do not scale well to large systems, or do not sufficiently leverage parallelization. This hinders the integration of software model checking into the development process (continuous integration). We propose...
Saved in:
| Published in: | Proceedings of the ACM on software engineering Vol. 1; no. FSE; pp. 1307 - 1329 |
|---|---|
| Main Authors: | , , |
| Format: | Journal Article |
| Language: | English |
| Published: |
New York, NY, USA
ACM
12.07.2024
|
| Subjects: | |
| ISSN: | 2994-970X, 2994-970X |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Abstract | There are many approaches for automated software verification, but they are either imprecise, do not scale well to large systems, or do not sufficiently leverage parallelization. This hinders the integration of software model checking into the development process (continuous integration). We propose an approach to decompose one large verification task into multiple smaller, connected verification tasks, based on blocks in the program control flow. For each block, summaries (block contracts) are computed — based on independent, distributed, continuous refinement by communication between the blocks. The approach iteratively synthesizes preconditions to assume at the block entry (computed from postconditions received from block predecessors, i.e., which program states reach this block) and violation conditions to check at the block exit (computed from violation conditions received from block successors, i.e., which program states lead to a specification violation). This separation of concerns leads to an architecture in which all blocks can be analyzed in parallel, as independent verification problems. Whenever new information (as a postcondition or violation condition) is available from other blocks, the verification can decide to restart with this new information. We realize our approach on the basis of configurable program analysis and implement it for the verification of C programs in the widely used verifier CPAchecker. A large experimental evaluation shows the potential of our new approach: The distribution of the workload to several processing units works well, and there is a significant reduction of the response time when using multiple processing units. There are even cases in which the new approach beats the highly-tuned, existing single-threaded predicate abstraction. |
|---|---|
| AbstractList | There are many approaches for automated software verification, but they are either imprecise, do not scale well to large systems, or do not sufficiently leverage parallelization. This hinders the integration of software model checking into the development process (continuous integration). We propose an approach to decompose one large verification task into multiple smaller, connected verification tasks, based on blocks in the program control flow. For each block, summaries (block contracts) are computed — based on independent, distributed, continuous refinement by communication between the blocks. The approach iteratively synthesizes preconditions to assume at the block entry (computed from postconditions received from block predecessors, i.e., which program states reach this block) and violation conditions to check at the block exit (computed from violation conditions received from block successors, i.e., which program states lead to a specification violation). This separation of concerns leads to an architecture in which all blocks can be analyzed in parallel, as independent verification problems. Whenever new information (as a postcondition or violation condition) is available from other blocks, the verification can decide to restart with this new information. We realize our approach on the basis of configurable program analysis and implement it for the verification of C programs in the widely used verifier CPAchecker. A large experimental evaluation shows the potential of our new approach: The distribution of the workload to several processing units works well, and there is a significant reduction of the response time when using multiple processing units. There are even cases in which the new approach beats the highly-tuned, existing single-threaded predicate abstraction. |
| ArticleNumber | 59 |
| Author | Lemberger, Thomas Beyer, Dirk Kettl, Matthias |
| Author_xml | – sequence: 1 givenname: Dirk orcidid: 0000-0003-4832-7662 surname: Beyer fullname: Beyer, Dirk email: dirk.beyer@sosy-lab.org organization: LMU Munich, Munich, Germany – sequence: 2 givenname: Matthias orcidid: 0000-0001-7365-5030 surname: Kettl fullname: Kettl, Matthias email: matthias.kettl@sosy.ifi.lmu.de organization: LMU Munich, Munich, Germany – sequence: 3 givenname: Thomas orcidid: 0000-0003-0291-815X surname: Lemberger fullname: Lemberger, Thomas email: thomas.lemberger@sosy.ifi.lmu.de organization: LMU Munich, Munich, Germany |
| BookMark | eNpNj81LAzEQxYNUsNbi3dPePK1Omm02OUpbP6DgoUW8LbPJRCPupiS7SP97W1vF0zzm_Xi8d84GbWiJsUsON5wX01shJZRSnrDhROsi1yW8Dv7pMzZO6QMAdh_OSxiyxZxMaDYh-fYtWwXXfWGk7IWid95g50Ob9T_e3Kcu-rrvyGarvmkwbrPVtu3eKfl0wU4dfiYaH--Ire8X69ljvnx-eJrdLXNUhcytFAJ1DSQLNKURYGuhcIJAwtSOK1DkjFXSCqWNBksCiVCSNGZaEBdixK4PsSaGlCK5ahP9vknFodrvr477d-TVgUTT_EG_5jfcbFir |
| Cites_doi | 10.1007/3-540-49059-0_14 10.1007/s10817-024-09702-9 10.1145/1646353.1646374 10.1145/199448.199462 10.1007/978-3-319-10575-8_16 10.1007/978-3-642-23702-7_26 10.1002/spe.2949 10.1007/10722468_7 10.1007/978-3-642-14295-6_31 10.1126/science.275.5296.51 10.1145/2049697.2049700 10.1007/978-3-642-34281-3_24 10.1145/1232420.1232423 10.1007/978-3-642-54862-8_27 10.1145/503272.503279 10.1145/3453483.3454044 10.1145/3368089.3409718 10.1007/978-3-642-27940-9_4 10.1145/996841.996844 10.1007/978-3-030-99429-7_3 10.1109/FMCAD.2009.5351147 10.1109/32.588521 10.34727/2023 10.5281/zenodo.11563223 10.1007/s10515-020-00270-x 10.1007/978-3-540-45069-6_1 10.1007/s10009-017-0469-y 10.1007/978-3-031-57256-2_15 10.1007/BFb0054162 10.1145/2491411.2501854 10.1145/1706299.1706353 10.1145/964001.964021 10.29007/d3bt 10.1145/1368088.1368118 10.1007/978-3-319-17524-9_1 10.1007/978-3-030-03421-4_11 10.1007/978-3-642-11486-1_14 10.1007/978-3-540-73368-3_51 10.1007/s10009-007-0044-z 10.1007/978-3-319-96145-3_3 10.2307/2963593 10.1007/10722167_15 10.1007/978-3-642-22110-1_16 10.1145/3238147.3238195 10.1007/11817963_14 10.1007/978-3-030-45190-5_1 10.1145/3477579 10.1137/0201010 10.1007/978-3-319-23404-5_5 10.1007/978-3-030-45237-7_30 10.1007/s11334-019-00331-9 10.1145/1965724.1965743 10.1007/s10817-017-9432-6 10.1007/978-3-319-21690-4_42 10.1145/876638.876643 10.1007/978-3-662-54580-5_12 10.1007/978-3-031-57256-2_21 10.1007/3-540-45319-9_19 10.48550/arXiv.1008.1459 10.1007/978-3-031-30820-8_29 10.1145/1465482.1465560 10.1109/ASE.2008.13 |
| ContentType | Journal Article |
| Copyright | Owner/Author |
| Copyright_xml | – notice: Owner/Author |
| DBID | AAYXX CITATION |
| DOI | 10.1145/3660766 |
| DatabaseName | CrossRef |
| DatabaseTitle | CrossRef |
| DatabaseTitleList | CrossRef |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 2994-970X |
| EndPage | 1329 |
| ExternalDocumentID | 10_1145_3660766 3660766 |
| GrantInformation_xml | – fundername: Deutsche Forschungsgemeinschaft grantid: 378803395, 418257054 funderid: https:\/\/doi.org\/10.13039\/501100001659 |
| GroupedDBID | AAKMM ACM AEJOY AKRVB ALMA_UNASSIGNED_HOLDINGS LHSKQ M~E AAYXX CITATION ROL |
| ID | FETCH-LOGICAL-a846-d633a9b0e64ac7c30db38a2a0e3cbf1808efcd86d389c90de3aeea6e6cc54e133 |
| ISSN | 2994-970X |
| IngestDate | Sat Nov 29 07:49:00 EST 2025 Mon Jul 14 20:49:06 EDT 2025 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | FSE |
| Keywords | Formal Verification Program Analysis Block Summaries Contract Synthesis Decomposition Strategies Multi-process Model Checking Parallelization Software Model Checking |
| Language | English |
| License | This work is licensed under a Creative Commons Attribution International 4.0 License. https://creativecommons.org/licenses/by/4.0 |
| LinkModel | OpenURL |
| MergedId | FETCHMERGED-LOGICAL-a846-d633a9b0e64ac7c30db38a2a0e3cbf1808efcd86d389c90de3aeea6e6cc54e133 |
| ORCID | 0000-0001-7365-5030 0000-0003-0291-815X 0000-0003-4832-7662 |
| OpenAccessLink | https://dl.acm.org/doi/10.1145/3660766 |
| PageCount | 23 |
| ParticipantIDs | crossref_primary_10_1145_3660766 acm_primary_3660766 |
| PublicationCentury | 2000 |
| PublicationDate | 20240712 2024-07-12 |
| PublicationDateYYYYMMDD | 2024-07-12 |
| PublicationDate_xml | – month: 07 year: 2024 text: 20240712 day: 12 |
| PublicationDecade | 2020 |
| PublicationPlace | New York, NY, USA |
| PublicationPlace_xml | – name: New York, NY, USA |
| PublicationTitle | Proceedings of the ACM on software engineering |
| PublicationTitleAbbrev | ACM PACMSE |
| PublicationYear | 2024 |
| Publisher | ACM |
| Publisher_xml | – name: ACM |
| References | D. Babic and A. J. Hu. 2008. Calysto: Scalable and precise extended static checking. In Proc. ICSE. ACM, 211–220. https://doi.org/10.1145/1368088.1368118 10.1145/1368088.1368118 E. M. Clarke, O. Grumberg, S. Jha, Y. Lu, and H. Veith. 2003. Counterexample-guided abstraction refinement for symbolic model checking. J. ACM, 50, 5 (2003), 752–794. https://doi.org/10.1145/876638.876643 10.1145/876638.876643 D. Baier, D. Beyer, P.-C. Chien, M. Jankola, M. Kettl, N.-Z. Lee, T. Lemberger, M. Lingsch-Rosenfeld, M. Spiessl, H. Wachowitz, and P. Wendler. 2024. CPAchecker 2.3 with strategy selection (competition contribution). In Proc. TACAS (3) (LNCS 14572). Springer, 359–364. https://doi.org/10.1007/978-3-031-57256-2_21 10.1007/978-3-031-57256-2_21 D. Beyer, S. Löwe, and P. Wendler. 2019. Reliable benchmarking: Requirements and solutions. Int. J. Softw. Tools Technol. Transfer, 21, 1 (2019), 1–29. https://doi.org/10.1007/s10009-017-0469-y 10.1007/s10009-017-0469-y D. Beyer, T. A. Henzinger, and G. Théoduloz. 2007. Configurable software verification: Concretizing the convergence of model checking and program analysis. In Proc. CAV (LNCS 4590). Springer, 504–518. https://doi.org/10.1007/978-3-540-73368-3_51 10.1007/978-3-540-73368-3_51 A. V. Khoroshilov, V. S. Mutilin, A. K. Petrenko, and V. Zakharov. 2009. Establishing Linux driver verification process. In Proc. Ershov Memorial Conference (LNCS 5947). Springer, 165–176. https://doi.org/10.1007/978-3-642-11486-1_14 10.1007/978-3-642-11486-1_14 A. Wilson, A. Nötzli, A. Reynolds, B. Cook, C. Tinelli, and C. W. Barrett. 2023. Partitioning strategies for distributed SMT solving. In Proc. FMCAD. IEEE, 199–208. https://doi.org/10.34727/2023/ISBN.978-3-85448-060-0_28 10.34727/2023/ISBN.978-3-85448-060-0_28 D. Wonisch and H. Wehrheim. 2012. Predicate analysis with block-abstraction memoization. In Proc. ICFEM (LNCS 7635). Springer, 332–347. https://doi.org/10.1007/978-3-642-34281-3_24 10.1007/978-3-642-34281-3_24 S. Löwe, M. U. Mandrykin, and P. Wendler. 2014. CPAchecker with sequential combination of explicit-value analyses and predicate analyses (competition contribution). In Proc. TACAS (LNCS 8413). Springer, 392–394. https://doi.org/10.1007/978-3-642-54862-8_27 10.1007/978-3-642-54862-8_27 B. Cook. 2018. Formal reasoning about the security of Amazon web services. In Proc. CAV (2) (LNCS 10981). Springer, 38–47. https://doi.org/10.1007/978-3-319-96145-3_3 10.1007/978-3-319-96145-3_3 D. Beyer and M. Dangl. 2020. Software verification with PDR: An implementation of the state of the art. In Proc. TACAS (1) (LNCS 12078). Springer, 3–21. https://doi.org/10.1007/978-3-030-45190-5_1 10.1007/978-3-030-45190-5_1 D. Beyer, S. Gulwani, and D. Schmidt. 2018. Combining model checking and data-flow analysis. In Handbook of Model Checking. Springer, 493–540. https://doi.org/10.1007/978-3-319-10575-8_16 10.1007/978-3-319-10575-8_16 C. Richter, E. Hüllermeier, M.-C. Jakobs, and H. Wehrheim. 2020. Algorithm selection for software validation based on graph kernels. Autom. Softw. Eng., 27, 1 (2020), 153–186. https://doi.org/10.1007/s10515-020-00270-x 10.1007/s10515-020-00270-x T. W. Reps. 1997. Program analysis via graph reachability. In Proc. ILPS. MIT, 5–19. D. Beyer, N.-Z. Lee, and P. Wendler. 2024. Interpolation and SAT-based model checking revisited: Adoption to software verification. J. Autom. Reasoning, https://doi.org/10.1007/s10817-024-09702-9 Preprint: https://doi.org/10.48550/arXiv.2208.05046 10.1007/s10817-024-09702-9 R. E. Tarjan. 1972. Depth-first search and linear graph algorithms. SIAM J. Comput., 1, 2 (1972), 146–160. https://doi.org/10.1137/0201010 10.1137/0201010 W. Craig. 1957. Linear reasoning. A new form of the Herbrand-Gentzen theorem. J. Symb. Log., 22, 3 (1957), 250–268. https://doi.org/10.2307/2963593 10.2307/2963593 D. Beyer. 2023. Software testing: 5th comparative evaluation: Test-Comp 2023. In Proc. FASE (LNCS 13991). Springer. C. Calcagno, D. Distefano, J. Dubreil, D. Gabi, P. Hooimeijer, M. Luca, P. W. O’Hearn, I. Papakonstantinou, J. Purbrick, and D. Rodriguez. 2015. Moving fast with software verification. In Proc. NFM (LNCS 9058). Springer, 3–11. https://doi.org/10.1007/978-3-319-17524-9_1 10.1007/978-3-319-17524-9_1 A. F. Donaldson, L. Haller, D. Kröning, and P. Rümmer. 2011. Software verification using k-induction. In Proc. SAS (LNCS 6887). Springer, 351–368. https://doi.org/10.1007/978-3-642-23702-7_26 10.1007/978-3-642-23702-7_26 P. Peringer, V. Šoková, and T. Vojnar. 2020. PredatorHP revamped (not only) for interval-sized memory regions and memory reallocation (competition contribution). In Proc. TACAS (2) (LNCS 12079). Springer, 408–412. https://doi.org/10.1007/978-3-030-45237-7_30 10.1007/978-3-030-45237-7_30 D. Beyer, S. Kanav, and C. Richter. 2022. Construction of verifier combinations based on off-the-shelf verifiers. In Proc. FASE. Springer, 49–70. https://doi.org/10.1007/978-3-030-99429-7_3 10.1007/978-3-030-99429-7_3 D. Beyer and K. Friedberger. 2018. Domain-independent multi-threaded software model checking. In Proc. ASE. ACM, 634–644. https://doi.org/10.1145/3238147.3238195 10.1145/3238147.3238195 C. Calcagno, D. Distefano, P. W. O’Hearn, and H. Yang. 2011. Compositional shape analysis by means of bi-abduction. J. ACM, 58, 6 (2011), 26:1–26:66. https://doi.org/10.1145/2049697.2049700 10.1145/2049697.2049700 T. Ball and S. K. Rajamani. 2000. Bebop: A symbolic model checker for boolean programs. In Proc. SPIN (LNCS 1885). Springer, 113–130. https://doi.org/10.1007/10722468_7 10.1007/10722468_7 M. Heizmann, J. Hoenicke, and A. Podelski. 2010. Nested interpolants. In Proc. POPL. ACM, 471–482. https://doi.org/10.1145/1706299.1706353 10.1145/1706299.1706353 C. Hewitt. 2015. Actor model of computation: Scalable robust information systems. arXiv/CoRR, 1008, 1459 (2015), https://doi.org/10.48550/arXiv.1008.1459 10.48550/arXiv.1008.1459 K. L. McMillan. 2003. Interpolation and SAT-based model checking. In Proc. CAV (LNCS 2725). Springer, 1–13. https://doi.org/10.1007/978-3-540-45069-6_1 10.1007/978-3-540-45069-6_1 D. Beyer, A. Cimatti, A. Griggio, M. E. Keremoglu, and R. Sebastiani. 2009. Software model checking via large-block encoding. In Proc. FMCAD. IEEE, 25–32. https://doi.org/10.1109/FMCAD.2009.5351147 10.1109/FMCAD.2009.5351147 N. Chong, B. Cook, J. Eidelman, K. Kallas, K. Khazem, F. R. Monteiro, D. Schwartz-Narbonne, S. Tasiran, M. Tautschnig, and M. R. Tuttle. 2021. Code-level model checking in the software development workflow at Amazon Web Services. Softw. Pract. Exp., 51, 4 (2021), 772–797. https://doi.org/10.1002/spe.2949 10.1002/spe.2949 J. Barnat, P. Rockai, V. Still, and J. Weiser. 2015. Fast, dynamically-sized concurrent hash table. In Proc. SPIN (LNCS 9232). Springer, 49–65. https://doi.org/10.1007/978-3-319-23404-5_5 10.1007/978-3-319-23404-5_5 D. Beyer, M. Dangl, D. Dietsch, M. Heizmann, T. Lemberger, and M. Tautschnig. 2022. Verification witnesses. ACM Trans. Softw. Eng. Methodol., 31, 4 (2022), 57:1–57:69. https://doi.org/10.1145/3477579 10.1145/3477579 D. Beyer and M. Dangl. 2018. Strategy selection for software verification based on boolean features: A simple but effective approach. In Proc. ISoLA (LNCS 11245). Springer, 144–159. https://doi.org/10.1007/978-3-030-03421-4_11 10.1007/978-3-030-03421-4_11 D. Beyer, M. Dangl, and P. Wendler. 2018. A unifying view on SMT-based software verification. J. Autom. Reasoning, 60, 3 (2018), 299–335. issn:1573-0670 https://doi.org/10.1007/s10817-017-9432-6 10.1007/s10817-017-9432-6 A. Biere, A. Cimatti, E. M. Clarke, and Y. Zhu. 1999. Symbolic model checking without BDDs. In Proc. TACAS (LNCS 1579). Springer, 193–207. https://doi.org/10.1007/3-540-49059-0_14 10.1007/3-540-49059-0_14 K. L. McMillan. 2006. Lazy abstraction with interpolants. In Proc. CAV (LNCS 4144). Springer, 123–136. https://doi.org/10.1007/11817963_14 10.1007/11817963_14 S. McPeak, C. H. Gros, and M. K. Ramanathan. 2013. Scalable and incremental software bug detection. In Proc. ESEC/FSE. ACM, 554–564. https://doi.org/10.1145/2491411.2501854 10.1145/2491411.2501854 G. J. Holzmann. 1997. The Spin model checker. IEEE Trans. Softw. Eng., 23, 5 (1997), 279–295. https://doi.org/10.1109/32.588521 10.1109/32.588521 T. A. Henzinger, R. Jhala, and R. Majumdar. 2004. Race checking by context inference. In Proc. PLDI. ACM, 1–13. https://doi.org/10.1145/996841.996844 10.1145/996841.996844 E. M. Clarke, O. Grumberg, S. Jha, Y. Lu, and H. Veith. 2000. Counterexample-guided abstraction refinement. In Proc. CAV (LNCS 1855). Springer, 154–169. https://doi.org/10.1007/10722167_15 10.1007/10722167_15 D. Beyer, M. E. Keremoglu, and P. Wendler. 2010. Predicate abstraction with adjustable-block encoding. In Proc. FMCAD. FMCAD, 189–197. https://ieeexplore.ieee.org/document/5770949 T. van Dijk. 2016. Ph. D. Dissertation. University of Twente, Enschede, Netherlands. http://purl.utwente.nl/publications/100676 D. Beyer, T. A. Henzinger, R. Jhala, and R. Majumdar. 2007. The software model checker Blast. Int. J. Softw. Tools Technol. Transfer, 9, 5-6 (2007), 505–525. https://doi.org/10.1007/s10009-007-0044-z 10.1007/s10009-007-0044-z T. A. Henzinger, R. Jhala, R. Majumdar, and K. L. McMillan. 2004. Abstractions from proofs. In Proc. POPL. ACM, 232–244. https://doi.org/10.1145/964001.964021 10.1145/964001.964021 S. Asadi, M. Blicha, G. Fedyukovich, A. E. J. Hyvärinen, K. Even-Mendoza, N. Sharygina, and H. Chockler. 2018. Function summarization modulo theories. In Proc. LPAR (EPiC, Vol. 57). EasyChair, 56–75. https://doi.org/10.29007/d3bt 10.29007/d3bt A. Albarghouthi, A. Gurfinkel, and M. Chechik. 2012. Whale: An interpolation-based algorithm for inter-procedural verification. In Proc. VMCAI (LNCS 7148). Springer, 39–55. https://doi.org/10.1007/978-3-642-27940-9_4 10.1007/978-3-642-27940-9_4 B. A. Huberman, R. M. Lukose, and T. Hogg. 1997. An economics approach to hard computational problems. Science, 275, 7 (1997), 51–54. https://doi.org/10.1126/science.275.5296.51 10.1126/science.275.5296.51 D. Beyer. 2023. e_1_2_1_60_1 e_1_2_1_20_1 e_1_2_1_41_1 e_1_2_1_66_1 e_1_2_1_24_1 e_1_2_1_45_1 e_1_2_1_22_1 e_1_2_1_43_1 e_1_2_1_64_1 e_1_2_1_28_1 e_1_2_1_49_1 e_1_2_1_26_1 e_1_2_1_47_1 van Dijk T. (e_1_2_1_52_1) e_1_2_1_31_1 e_1_2_1_54_1 e_1_2_1_8_1 e_1_2_1_56_1 e_1_2_1_6_1 e_1_2_1_12_1 e_1_2_1_35_1 e_1_2_1_50_1 e_1_2_1_4_1 e_1_2_1_10_1 e_1_2_1_33_1 e_1_2_1_2_1 e_1_2_1_39_1 e_1_2_1_14_1 e_1_2_1_37_1 e_1_2_1_58_1 e_1_2_1_18_1 Beyer D. (e_1_2_1_16_1) Beyer D. (e_1_2_1_62_1) 2023 e_1_2_1_42_1 e_1_2_1_65_1 e_1_2_1_40_1 e_1_2_1_67_1 e_1_2_1_23_1 e_1_2_1_46_1 e_1_2_1_61_1 e_1_2_1_21_1 e_1_2_1_44_1 e_1_2_1_63_1 e_1_2_1_27_1 e_1_2_1_25_1 e_1_2_1_48_1 e_1_2_1_29_1 Reps T. W. (e_1_2_1_30_1) 1997 e_1_2_1_7_1 e_1_2_1_55_1 e_1_2_1_5_1 e_1_2_1_57_1 e_1_2_1_3_1 e_1_2_1_13_1 e_1_2_1_34_1 e_1_2_1_51_1 e_1_2_1_1_1 e_1_2_1_11_1 e_1_2_1_32_1 e_1_2_1_53_1 e_1_2_1_17_1 e_1_2_1_38_1 e_1_2_1_15_1 e_1_2_1_36_1 e_1_2_1_59_1 e_1_2_1_9_1 e_1_2_1_19_1 |
| References_xml | – reference: C. Richter, E. Hüllermeier, M.-C. Jakobs, and H. Wehrheim. 2020. Algorithm selection for software validation based on graph kernels. Autom. Softw. Eng., 27, 1 (2020), 153–186. https://doi.org/10.1007/s10515-020-00270-x 10.1007/s10515-020-00270-x – reference: D. Babic and A. J. Hu. 2008. Calysto: Scalable and precise extended static checking. In Proc. ICSE. ACM, 211–220. https://doi.org/10.1145/1368088.1368118 10.1145/1368088.1368118 – reference: B. Stein, B.-Y. E. Chang, and M. Sridharan. 2021. Demanded abstract interpretation. In Proc. PLDI. ACM, 282–295. https://doi.org/10.1145/3453483.3454044 10.1145/3453483.3454044 – reference: T. A. Henzinger, R. Jhala, R. Majumdar, and K. L. McMillan. 2004. Abstractions from proofs. In Proc. POPL. ACM, 232–244. https://doi.org/10.1145/964001.964021 10.1145/964001.964021 – reference: A. Bessey, K. Block, B. Chelf, A. Chou, B. Fulton, S. Hallem, C. Gros, A. Kamsky, S. McPeak, and D. R. Engler. 2010. A few billion lines of code later: Using static analysis to find bugs in the real world. Commun. ACM, 53, 2 (2010), 66–75. https://doi.org/10.1145/1646353.1646374 10.1145/1646353.1646374 – reference: T. Ball and S. K. Rajamani. 2000. Bebop: A symbolic model checker for boolean programs. In Proc. SPIN (LNCS 1885). Springer, 113–130. https://doi.org/10.1007/10722468_7 10.1007/10722468_7 – reference: D. Beyer, A. Cimatti, A. Griggio, M. E. Keremoglu, and R. Sebastiani. 2009. Software model checking via large-block encoding. In Proc. FMCAD. IEEE, 25–32. https://doi.org/10.1109/FMCAD.2009.5351147 10.1109/FMCAD.2009.5351147 – reference: S. Blom, J. van de Pol, and M. Weber. 2010. LTSmin: Distributed and symbolic reachability. In Proc. CAV (LNCS 6174). Springer, 354–359. https://doi.org/10.1007/978-3-642-14295-6_31 10.1007/978-3-642-14295-6_31 – reference: P. Peringer, V. Šoková, and T. Vojnar. 2020. PredatorHP revamped (not only) for interval-sized memory regions and memory reallocation (competition contribution). In Proc. TACAS (2) (LNCS 12079). Springer, 408–412. https://doi.org/10.1007/978-3-030-45237-7_30 10.1007/978-3-030-45237-7_30 – reference: D. Beyer. 2024. State of the art in software verification and witness validation: SV-COMP 2024. In Proc. TACAS (3) (LNCS 14572). Springer, 299–329. https://doi.org/10.1007/978-3-031-57256-2_15 10.1007/978-3-031-57256-2_15 – reference: D. Beyer, M. Kettl, and T. Lemberger. 2024. Zenodo. https://doi.org/10.5281/zenodo.11563223 10.5281/zenodo.11563223 – reference: E. M. Clarke, O. Grumberg, S. Jha, Y. Lu, and H. Veith. 2003. Counterexample-guided abstraction refinement for symbolic model checking. J. ACM, 50, 5 (2003), 752–794. https://doi.org/10.1145/876638.876643 10.1145/876638.876643 – reference: M. Heizmann, J. Hoenicke, and A. Podelski. 2010. Nested interpolants. In Proc. POPL. ACM, 471–482. https://doi.org/10.1145/1706299.1706353 10.1145/1706299.1706353 – reference: T. Ball and S. K. Rajamani. 2000. Boolean programs: A model and process for software analysis. Microsoft Research. https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-2000-14.pdf – reference: T. W. Reps, S. Horwitz, and M. Sagiv. 1995. Precise interprocedural data-flow analysis via graph reachability. In Proc. POPL. ACM, 49–61. https://doi.org/10.1145/199448.199462 10.1145/199448.199462 – reference: T. A. Henzinger, R. Jhala, and R. Majumdar. 2004. Race checking by context inference. In Proc. PLDI. ACM, 1–13. https://doi.org/10.1145/996841.996844 10.1145/996841.996844 – reference: K. Laster and O. Grumberg. 1998. Modular model checking of software. In Proc. TACAS (LNCS 1384). Springer, 20–35. https://doi.org/10.1007/BFb0054162 10.1007/BFb0054162 – reference: D. Beyer, M. Dangl, D. Dietsch, M. Heizmann, T. Lemberger, and M. Tautschnig. 2022. Verification witnesses. ACM Trans. Softw. Eng. Methodol., 31, 4 (2022), 57:1–57:69. https://doi.org/10.1145/3477579 10.1145/3477579 – reference: S. Asadi, M. Blicha, G. Fedyukovich, A. E. J. Hyvärinen, K. Even-Mendoza, N. Sharygina, and H. Chockler. 2018. Function summarization modulo theories. In Proc. LPAR (EPiC, Vol. 57). EasyChair, 56–75. https://doi.org/10.29007/d3bt 10.29007/d3bt – reference: D. Beyer, M. Dangl, and P. Wendler. 2015. Boosting k-induction with continuously-refined invariants. In Proc. CAV (LNCS 9206). Springer, 622–640. https://doi.org/10.1007/978-3-319-21690-4_42 10.1007/978-3-319-21690-4_42 – reference: D. Beyer, M. E. Keremoglu, and P. Wendler. 2010. Predicate abstraction with adjustable-block encoding. In Proc. FMCAD. FMCAD, 189–197. https://ieeexplore.ieee.org/document/5770949 – reference: T. W. Reps. 1997. Program analysis via graph reachability. In Proc. ILPS. MIT, 5–19. – reference: A. F. Donaldson, L. Haller, D. Kröning, and P. Rümmer. 2011. Software verification using k-induction. In Proc. SAS (LNCS 6887). Springer, 351–368. https://doi.org/10.1007/978-3-642-23702-7_26 10.1007/978-3-642-23702-7_26 – reference: D. Beyer, S. Kanav, and C. Richter. 2022. Construction of verifier combinations based on off-the-shelf verifiers. In Proc. FASE. Springer, 49–70. https://doi.org/10.1007/978-3-030-99429-7_3 10.1007/978-3-030-99429-7_3 – reference: G. J. Holzmann. 1997. The Spin model checker. IEEE Trans. Softw. Eng., 23, 5 (1997), 279–295. https://doi.org/10.1109/32.588521 10.1109/32.588521 – reference: D. Beyer, T. A. Henzinger, R. Jhala, and R. Majumdar. 2007. The software model checker Blast. Int. J. Softw. Tools Technol. Transfer, 9, 5-6 (2007), 505–525. https://doi.org/10.1007/s10009-007-0044-z 10.1007/s10009-007-0044-z – reference: D. Beyer, N.-Z. Lee, and P. Wendler. 2024. Interpolation and SAT-based model checking revisited: Adoption to software verification. J. Autom. Reasoning, https://doi.org/10.1007/s10817-024-09702-9 Preprint: https://doi.org/10.48550/arXiv.2208.05046 10.1007/s10817-024-09702-9 – reference: N. Chong, B. Cook, J. Eidelman, K. Kallas, K. Khazem, F. R. Monteiro, D. Schwartz-Narbonne, S. Tasiran, M. Tautschnig, and M. R. Tuttle. 2021. Code-level model checking in the software development workflow at Amazon Web Services. Softw. Pract. Exp., 51, 4 (2021), 772–797. https://doi.org/10.1002/spe.2949 10.1002/spe.2949 – reference: A. Albarghouthi, A. Gurfinkel, and M. Chechik. 2012. Whale: An interpolation-based algorithm for inter-procedural verification. In Proc. VMCAI (LNCS 7148). Springer, 39–55. https://doi.org/10.1007/978-3-642-27940-9_4 10.1007/978-3-642-27940-9_4 – reference: E. M. Clarke, O. Grumberg, S. Jha, Y. Lu, and H. Veith. 2000. Counterexample-guided abstraction refinement. In Proc. CAV (LNCS 1855). Springer, 154–169. https://doi.org/10.1007/10722167_15 10.1007/10722167_15 – reference: D. Beyer and M. Dangl. 2020. Software verification with PDR: An implementation of the state of the art. In Proc. TACAS (1) (LNCS 12078). Springer, 3–21. https://doi.org/10.1007/978-3-030-45190-5_1 10.1007/978-3-030-45190-5_1 – reference: D. Beyer. 2023. Competition on software verification and witness validation: SV-COMP 2023. In Proc. TACAS (2) (LNCS 13994). Springer, 495–522. https://doi.org/10.1007/978-3-031-30820-8_29 10.1007/978-3-031-30820-8_29 – reference: D. Beyer, T. A. Henzinger, and G. Théoduloz. 2007. Configurable software verification: Concretizing the convergence of model checking and program analysis. In Proc. CAV (LNCS 4590). Springer, 504–518. https://doi.org/10.1007/978-3-540-73368-3_51 10.1007/978-3-540-73368-3_51 – reference: D. Beyer. 2023. Software testing: 5th comparative evaluation: Test-Comp 2023. In Proc. FASE (LNCS 13991). Springer. – reference: K. L. McMillan. 2006. Lazy abstraction with interpolants. In Proc. CAV (LNCS 4144). Springer, 123–136. https://doi.org/10.1007/11817963_14 10.1007/11817963_14 – reference: D. Beyer, S. Gulwani, and D. Schmidt. 2018. Combining model checking and data-flow analysis. In Handbook of Model Checking. Springer, 493–540. https://doi.org/10.1007/978-3-319-10575-8_16 10.1007/978-3-319-10575-8_16 – reference: D. Beyer and M. Dangl. 2018. Strategy selection for software verification based on boolean features: A simple but effective approach. In Proc. ISoLA (LNCS 11245). Springer, 144–159. https://doi.org/10.1007/978-3-030-03421-4_11 10.1007/978-3-030-03421-4_11 – reference: Y. Xie and A. Aiken. 2007. Saturn: A scalable framework for error detection using boolean satisfiability. TOPLAS, 29, 3 (2007), 16. https://doi.org/10.1145/1232420.1232423 10.1145/1232420.1232423 – reference: A. V. Khoroshilov, V. S. Mutilin, A. K. Petrenko, and V. Zakharov. 2009. Establishing Linux driver verification process. In Proc. Ershov Memorial Conference (LNCS 5947). Springer, 165–176. https://doi.org/10.1007/978-3-642-11486-1_14 10.1007/978-3-642-11486-1_14 – reference: A. Biere, A. Cimatti, E. M. Clarke, and Y. Zhu. 1999. Symbolic model checking without BDDs. In Proc. TACAS (LNCS 1579). Springer, 193–207. https://doi.org/10.1007/3-540-49059-0_14 10.1007/3-540-49059-0_14 – reference: G. Yang, R. Qiu, S. Khurshid, C. S. Pasareanu, and J. Wen. 2019. A synergistic approach to improving symbolic execution using test ranges. Innov. Syst. Softw. Eng., 15, 3-4 (2019), 325–342. https://doi.org/10.1007/s11334-019-00331-9 10.1007/s11334-019-00331-9 – reference: L. Alt, S. Asadi, H. Chockler, K. Even-Mendoza, G. Fedyukovich, A. E. J. Hyvärinen, and N. Sharygina. 2017. HiFrog: SMT-based function summarization for software verification. In Proc. TACAS (LNCS 10206). 207–213. https://doi.org/10.1007/978-3-662-54580-5_12 10.1007/978-3-662-54580-5_12 – reference: S. McPeak, C. H. Gros, and M. K. Ramanathan. 2013. Scalable and incremental software bug detection. In Proc. ESEC/FSE. ACM, 554–564. https://doi.org/10.1145/2491411.2501854 10.1145/2491411.2501854 – reference: T. Ball, A. Podelski, and S. K. Rajamani. 2001. Boolean and Cartesian abstraction for model checking C programs. In Proc. TACAS (LNCS 2031). Springer, 268–283. https://doi.org/10.1007/3-540-45319-9_19 10.1007/3-540-45319-9_19 – reference: B. A. Huberman, R. M. Lukose, and T. Hogg. 1997. An economics approach to hard computational problems. Science, 275, 7 (1997), 51–54. https://doi.org/10.1126/science.275.5296.51 10.1126/science.275.5296.51 – reference: G. M. Amdahl. 1967. Validity of the single processor approach to achieving large scale computing capabilities. In Proc. AFIPS. ACM, 483–485. https://doi.org/10.1145/1465482.1465560 10.1145/1465482.1465560 – reference: R. E. Tarjan. 1972. Depth-first search and linear graph algorithms. SIAM J. Comput., 1, 2 (1972), 146–160. https://doi.org/10.1137/0201010 10.1137/0201010 – reference: D. Baier, D. Beyer, P.-C. Chien, M. Jankola, M. Kettl, N.-Z. Lee, T. Lemberger, M. Lingsch-Rosenfeld, M. Spiessl, H. Wachowitz, and P. Wendler. 2024. CPAchecker 2.3 with strategy selection (competition contribution). In Proc. TACAS (3) (LNCS 14572). Springer, 359–364. https://doi.org/10.1007/978-3-031-57256-2_21 10.1007/978-3-031-57256-2_21 – reference: C. Hewitt. 2015. Actor model of computation: Scalable robust information systems. arXiv/CoRR, 1008, 1459 (2015), https://doi.org/10.48550/arXiv.1008.1459 10.48550/arXiv.1008.1459 – reference: T. van Dijk. 2016. Ph. D. Dissertation. University of Twente, Enschede, Netherlands. http://purl.utwente.nl/publications/100676 – reference: B. Cook. 2018. Formal reasoning about the security of Amazon web services. In Proc. CAV (2) (LNCS 10981). Springer, 38–47. https://doi.org/10.1007/978-3-319-96145-3_3 10.1007/978-3-319-96145-3_3 – reference: D. Beyer and K. Friedberger. 2020. Domain-independent interprocedural program analysis using block-abstraction memoization. In Proc. ESEC/FSE. ACM, 50–62. https://doi.org/10.1145/3368089.3409718 10.1145/3368089.3409718 – reference: D. Wonisch and H. Wehrheim. 2012. Predicate analysis with block-abstraction memoization. In Proc. ICFEM (LNCS 7635). Springer, 332–347. https://doi.org/10.1007/978-3-642-34281-3_24 10.1007/978-3-642-34281-3_24 – reference: D. Beyer, T. A. Henzinger, and G. Théoduloz. 2008. Program analysis with dynamic precision adjustment. In Proc. ASE. IEEE, 29–38. https://doi.org/10.1109/ASE.2008.13 10.1109/ASE.2008.13 – reference: D. Beyer and M. E. Keremoglu. 2011. CPAchecker: A tool for configurable software verification. In Proc. CAV (LNCS 6806). Springer, 184–190. https://doi.org/10.1007/978-3-642-22110-1_16 10.1007/978-3-642-22110-1_16 – reference: K. L. McMillan. 2003. Interpolation and SAT-based model checking. In Proc. CAV (LNCS 2725). Springer, 1–13. https://doi.org/10.1007/978-3-540-45069-6_1 10.1007/978-3-540-45069-6_1 – reference: C. Calcagno, D. Distefano, J. Dubreil, D. Gabi, P. Hooimeijer, M. Luca, P. W. O’Hearn, I. Papakonstantinou, J. Purbrick, and D. Rodriguez. 2015. Moving fast with software verification. In Proc. NFM (LNCS 9058). Springer, 3–11. https://doi.org/10.1007/978-3-319-17524-9_1 10.1007/978-3-319-17524-9_1 – reference: D. Beyer, M. Dangl, and P. Wendler. 2018. A unifying view on SMT-based software verification. J. Autom. Reasoning, 60, 3 (2018), 299–335. issn:1573-0670 https://doi.org/10.1007/s10817-017-9432-6 10.1007/s10817-017-9432-6 – reference: W. Craig. 1957. Linear reasoning. A new form of the Herbrand-Gentzen theorem. J. Symb. Log., 22, 3 (1957), 250–268. https://doi.org/10.2307/2963593 10.2307/2963593 – reference: J. Barnat, P. Rockai, V. Still, and J. Weiser. 2015. Fast, dynamically-sized concurrent hash table. In Proc. SPIN (LNCS 9232). Springer, 49–65. https://doi.org/10.1007/978-3-319-23404-5_5 10.1007/978-3-319-23404-5_5 – reference: D. Beyer, S. Löwe, and P. Wendler. 2019. Reliable benchmarking: Requirements and solutions. Int. J. Softw. Tools Technol. Transfer, 21, 1 (2019), 1–29. https://doi.org/10.1007/s10009-017-0469-y 10.1007/s10009-017-0469-y – reference: T. Ball, V. Levin, and S. K. Rajamani. 2011. A decade of software model checking with Slam. Commun. ACM, 54, 7 (2011), 68–76. https://doi.org/10.1145/1965724.1965743 10.1145/1965724.1965743 – reference: A. Wilson, A. Nötzli, A. Reynolds, B. Cook, C. Tinelli, and C. W. Barrett. 2023. Partitioning strategies for distributed SMT solving. In Proc. FMCAD. IEEE, 199–208. https://doi.org/10.34727/2023/ISBN.978-3-85448-060-0_28 10.34727/2023/ISBN.978-3-85448-060-0_28 – reference: D. Beyer and K. Friedberger. 2018. Domain-independent multi-threaded software model checking. In Proc. ASE. ACM, 634–644. https://doi.org/10.1145/3238147.3238195 10.1145/3238147.3238195 – reference: S. Löwe, M. U. Mandrykin, and P. Wendler. 2014. CPAchecker with sequential combination of explicit-value analyses and predicate analyses (competition contribution). In Proc. TACAS (LNCS 8413). Springer, 392–394. https://doi.org/10.1007/978-3-642-54862-8_27 10.1007/978-3-642-54862-8_27 – reference: T. A. Henzinger, R. Jhala, R. Majumdar, and G. Sutre. 2002. Lazy abstraction. In Proc. POPL. ACM, 58–70. https://doi.org/10.1145/503272.503279 10.1145/503272.503279 – reference: C. Calcagno, D. Distefano, P. W. O’Hearn, and H. Yang. 2011. Compositional shape analysis by means of bi-abduction. J. ACM, 58, 6 (2011), 26:1–26:66. https://doi.org/10.1145/2049697.2049700 10.1145/2049697.2049700 – ident: e_1_2_1_36_1 doi: 10.1007/3-540-49059-0_14 – ident: e_1_2_1_59_1 doi: 10.1007/s10817-024-09702-9 – ident: e_1_2_1_53_1 doi: 10.1145/1646353.1646374 – ident: e_1_2_1_29_1 doi: 10.1145/199448.199462 – ident: e_1_2_1_54_1 doi: 10.1007/978-3-319-10575-8_16 – ident: e_1_2_1_38_1 doi: 10.1007/978-3-642-23702-7_26 – ident: e_1_2_1_6_1 doi: 10.1002/spe.2949 – ident: e_1_2_1_27_1 doi: 10.1007/10722468_7 – volume-title: Software testing: 5th comparative evaluation: Test-Comp year: 2023 ident: e_1_2_1_62_1 – ident: e_1_2_1_51_1 doi: 10.1007/978-3-642-14295-6_31 – ident: e_1_2_1_12_1 – ident: e_1_2_1_40_1 doi: 10.1126/science.275.5296.51 – ident: e_1_2_1_25_1 doi: 10.1145/2049697.2049700 – ident: e_1_2_1_18_1 doi: 10.1007/978-3-642-34281-3_24 – ident: e_1_2_1_49_1 doi: 10.1145/1232420.1232423 – ident: e_1_2_1_42_1 doi: 10.1007/978-3-642-54862-8_27 – ident: e_1_2_1_57_1 doi: 10.1145/503272.503279 – ident: e_1_2_1_32_1 doi: 10.1145/3453483.3454044 – ident: e_1_2_1_20_1 doi: 10.1145/3368089.3409718 – ident: e_1_2_1_28_1 doi: 10.1007/978-3-642-27940-9_4 – ident: e_1_2_1_31_1 doi: 10.1145/996841.996844 – ident: e_1_2_1_44_1 doi: 10.1007/978-3-030-99429-7_3 – ident: e_1_2_1_17_1 doi: 10.1109/FMCAD.2009.5351147 – ident: e_1_2_1_46_1 doi: 10.1109/32.588521 – ident: e_1_2_1_7_1 doi: 10.34727/2023 – ident: e_1_2_1_63_1 doi: 10.5281/zenodo.11563223 – ident: e_1_2_1_67_1 doi: 10.1007/s10515-020-00270-x – ident: e_1_2_1_24_1 doi: 10.1007/978-3-540-45069-6_1 – ident: e_1_2_1_60_1 doi: 10.1007/s10009-017-0469-y – ident: e_1_2_1_1_1 doi: 10.1007/978-3-031-57256-2_15 – ident: e_1_2_1_8_1 doi: 10.1007/BFb0054162 – ident: e_1_2_1_50_1 doi: 10.1145/2491411.2501854 – ident: e_1_2_1_33_1 doi: 10.1145/1706299.1706353 – ident: e_1_2_1_10_1 doi: 10.1145/964001.964021 – ident: e_1_2_1_22_1 doi: 10.29007/d3bt – ident: e_1_2_1_26_1 doi: 10.1145/1368088.1368118 – ident: e_1_2_1_3_1 doi: 10.1007/978-3-319-17524-9_1 – ident: e_1_2_1_66_1 doi: 10.1007/978-3-030-03421-4_11 – ident: e_1_2_1_4_1 doi: 10.1007/978-3-642-11486-1_14 – ident: e_1_2_1_9_1 doi: 10.1007/978-3-540-73368-3_51 – ident: e_1_2_1_34_1 doi: 10.1007/s10009-007-0044-z – ident: e_1_2_1_5_1 doi: 10.1007/978-3-319-96145-3_3 – ident: e_1_2_1_23_1 doi: 10.2307/2963593 – ident: e_1_2_1_13_1 doi: 10.1007/10722167_15 – ident: e_1_2_1_15_1 doi: 10.1007/978-3-642-22110-1_16 – ident: e_1_2_1_19_1 doi: 10.1145/3238147.3238195 – volume-title: University of Twente ident: e_1_2_1_52_1 – ident: e_1_2_1_39_1 doi: 10.1007/11817963_14 – ident: e_1_2_1_37_1 doi: 10.1007/978-3-030-45190-5_1 – ident: e_1_2_1_65_1 doi: 10.1145/3477579 – ident: e_1_2_1_14_1 doi: 10.1137/0201010 – ident: e_1_2_1_47_1 doi: 10.1007/978-3-319-23404-5_5 – ident: e_1_2_1_43_1 doi: 10.1007/978-3-030-45237-7_30 – volume-title: Proc. ILPS. MIT, 5–19 year: 1997 ident: e_1_2_1_30_1 – ident: e_1_2_1_48_1 doi: 10.1007/s11334-019-00331-9 – ident: e_1_2_1_2_1 doi: 10.1145/1965724.1965743 – volume-title: Proc. FMCAD. FMCAD, 189–197 ident: e_1_2_1_16_1 – ident: e_1_2_1_35_1 doi: 10.1007/s10817-017-9432-6 – ident: e_1_2_1_45_1 doi: 10.1007/978-3-319-21690-4_42 – ident: e_1_2_1_11_1 doi: 10.1145/876638.876643 – ident: e_1_2_1_21_1 doi: 10.1007/978-3-662-54580-5_12 – ident: e_1_2_1_41_1 doi: 10.1007/978-3-031-57256-2_21 – ident: e_1_2_1_56_1 doi: 10.1007/3-540-45319-9_19 – ident: e_1_2_1_58_1 doi: 10.48550/arXiv.1008.1459 – ident: e_1_2_1_61_1 doi: 10.1007/978-3-031-30820-8_29 – ident: e_1_2_1_64_1 doi: 10.1145/1465482.1465560 – ident: e_1_2_1_55_1 doi: 10.1109/ASE.2008.13 |
| SSID | ssj0002991170 |
| Score | 2.2616823 |
| Snippet | There are many approaches for automated software verification, but they are either imprecise, do not scale well to large systems, or do not sufficiently... |
| SourceID | crossref acm |
| SourceType | Index Database Publisher |
| StartPage | 1307 |
| SubjectTerms | Computing methodologies Evaluation Formal methods Formal software verification General and reference Parallel algorithms Program reasoning Software and its engineering Theory of computation Verification by model checking |
| SubjectTermsDisplay | Computing methodologies -- Parallel algorithms General and reference -- Evaluation Software and its engineering -- Formal methods Software and its engineering -- Formal software verification Theory of computation -- Program reasoning Theory of computation -- Verification by model checking |
| Title | Decomposing Software Verification using Distributed Summary Synthesis |
| URI | https://dl.acm.org/doi/10.1145/3660766 |
| Volume | 1 |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVHPJ databaseName: ROAD: Directory of Open Access Scholarly Resources customDbUrl: eissn: 2994-970X dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0002991170 issn: 2994-970X databaseCode: M~E dateStart: 20240101 isFulltext: true titleUrlDefault: https://road.issn.org providerName: ISSN International Centre |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1LT9wwELZayqGXPoCq9CUfekMrnNix4yOCRT0UhLSram_Ia09g1RIQCS1c-ts7jp3EIA7toZcoihNn5W8y_mZ2HoR8rjJTSB89haYDGigOPymTMzGBolAglUOSbLtmE-r4uFws9EnMPWm6dgKqrsvbW331X6HGawi2T539B7iHSfECniPoeETY8fhXwB-ADxO_7HwAM1Syv3xs1zd8cxXdczs33diBL5nru115yhlS2HZmdzUSwmbVpJz1ZNjjmj6iYG__yP_L0PTTw1jVcLDv4S5IAyrV76Nab9sfIUWobc9XZiD0X8E3JjmL8jMGLUV_RC68ozPLEwmKMe6dDst95WGt2OKewk3k6nA2TdQnbqgq2YrRUtaPq3nhK2JwKZmSDwpph605jDwlz3JVaB_pd_R7dL3hj_L9dkIKtZ9rN97vGYq9SBhKQjXmr8iLaCPQvYDta_IE6g3ysu-_QaM63iTTBGraQ01TqGkHNU2gphFqOkC9ReaH0_n-l0lsizExSBYnTnJu9JKBFMYqy5lb8tLkhgG3yyorWQmVdaXEz05bzRxwA2AkSGsLARnnb8hafVnDW0KXKnNFBtpYQKuSOSN4rgQTFbPOCS63yQaux-lVqHtyGldpm9B-fYahkN5e9Le8e_TB9-T5KDAfyFp7fQMfybr92a6a608dRn8ACsFUig |
| linkProvider | ISSN International Centre |
| 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=Decomposing+Software+Verification+using+Distributed+Summary+Synthesis&rft.jtitle=Proceedings+of+the+ACM+on+software+engineering&rft.au=Beyer%2C+Dirk&rft.au=Kettl%2C+Matthias&rft.au=Lemberger%2C+Thomas&rft.date=2024-07-12&rft.pub=ACM&rft.eissn=2994-970X&rft.volume=1&rft.issue=FSE&rft.spage=1307&rft.epage=1329&rft_id=info:doi/10.1145%2F3660766&rft.externalDocID=3660766 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2994-970X&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2994-970X&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2994-970X&client=summon |