skip to main content
10.1145/3121257.3121262acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
short-paper

Predicting rankings of software verification tools

Published:04 September 2017Publication History

ABSTRACT

Today, software verification tools have reached the maturity to be used for large scale programs. Different tools perform differently well on varying code. A software developer is hence faced with the problem of choosing a tool appropriate for her program at hand. A ranking of tools on programs could facilitate the choice. Such rankings can, however, so far only be obtained by running all considered tools on the program.

In this paper, we present a machine learning approach to predicting rankings of tools on programs. The method builds upon so-called label ranking algorithms, which we complement with appropriate kernels providing a similarity measure for programs. Our kernels employ a graph representation for software source code that mixes elements of control flow and program dependence graphs with abstract syntax trees. Using data sets from the software verification competition SV-COMP, we demonstrate our rank prediction technique to generalize well and achieve a rather high predictive accuracy (rank correlation > 0.6).

References

  1. Dirk Beyer. 2015. Software Verification and Verifiable Witnesses - (Report on SVCOMP 2015). In TACAS (LNCS), Christel Baier and Cesare Tinelli (Eds.), Vol. 9035.Google ScholarGoogle Scholar
  2. Springer, 401–416.Google ScholarGoogle Scholar
  3. Yu-Fang Chen, Chiao Hsieh, Ondrej Lengál, Tsung-Ju Lii, Ming-Hsien Tsai, Bow-Yaw Wang, and Farn Wang. 2016. PAC learning-based verification and model synthesis. In ICSE, Laura K. Dillon, Willem Visser, and Laurie Williams (Eds.). ACM, 714–724. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. A. Corazza, S. Di Martino, V. Maggio, and G. Scanniello. 2010.Google ScholarGoogle Scholar
  5. A Tree Kernel based approach for clone detection. In ICSM. IEEE, 1–5.Google ScholarGoogle Scholar
  6. Yulia Demyanova, Thomas Pani, Helmut Veith, and Florian Zuleger. 2015. Empirical Software Metrics for Benchmarking of Verification Tools. In CAV (LNCS), Daniel Kroening and Corina S. Pasareanu (Eds.), Vol. 9206. Springer, 561–579. Google ScholarGoogle ScholarCross RefCross Ref
  7. Susan Horwitz and Thomas W. Reps. 1992.Google ScholarGoogle Scholar
  8. The Use of Program Dependence Graphs in Software Engineering. In ICSE, Tony Montgomery, Lori A. Clarke, and Carlo Ghezzi (Eds.). ACM Press, 392–411.Google ScholarGoogle Scholar
  9. E. Hüllermeier, J. Fürnkranz, W. Cheng, and K. Brinker. 2008. Label Ranking by Learning Pairwise Preferences. Artificial Intelligence 172 (2008), 1897–1917. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Wenchao Li, Hassen Saidi, Huascar Sanchez, Martin Schäf, and Pascal Schweitzer. 2016. Detecting Similar Programs via The Weisfeiler-Leman Graph Kernel. In Software Reuse: Bridging with Social-Awareness (LNCS), Georgia M. Kapitsaki and Eduardo Santana de Almeida (Eds.), Vol. 9679. Springer, 315–330. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Tim Menzies and Thomas Zimmermann. 2013. Software Analytics: So What? IEEE Software 30, 4 (2013), 31–37. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Justin Sahs and Latifur Khan. 2012. A Machine Learning Approach to Android Malware Detection. In EISIC, Nasrullah Memon and Daniel Zeng (Eds.). IEEE Computer Society, 141–147. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. B. Schölkopf and AJ. Smola. 2001.Google ScholarGoogle Scholar
  14. Learning with Kernels: Support Vector Machines, Regularization, Optimization, and Beyond. MIT Press.Google ScholarGoogle Scholar
  15. Nino Shervashidze, Pascal Schweitzer, Erik Jan van Leeuwen, Kurt Mehlhorn, and Karsten M. Borgwardt. 2011. Weisfeiler-Lehman Graph Kernels. Journal of Machine Learning Research 12 (2011), 2539–2561.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Varun Tulsian, Aditya Kanade, Rahul Kumar, Akash Lal, and Aditya V. Nori. 2014.Google ScholarGoogle Scholar
  17. MUX: algorithm selection for software model checkers. In MSR, Premkumar T. Devanbu, Sung Kim, and Martin Pinzger (Eds.). ACM, 132–141.Google ScholarGoogle Scholar
  18. Boris Weisfeiler and A.A. Lehman. 1968. A reduction of a graph to a canonical form and an algebra arising during this reduction. Nauchno Technicheskaya Informatsia 2, 9 (1968), 12–19.Google ScholarGoogle Scholar
  19. Lin Xu, Frank Hutter, Holger H. Hoos, and Kevin Leyton-Brown. 2008. SATzilla: Portfolio-based Algorithm Selection for SAT. J. Artif. Intell. Res. (JAIR) 32 (2008), 565–606. Abstract 1 Introduction 2 Representing Verification Tasks 3 Predicting Rankings 3.1 Label Ranking 3.2 Ranking by Pairwise Comparison 3.3 Graph Kernels for Verification Tasks 4 Experimental Evaluation 5 Conclusion ReferencesGoogle ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Predicting rankings of software verification tools

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in
            • Published in

              cover image ACM Conferences
              SWAN 2017: Proceedings of the 3rd ACM SIGSOFT International Workshop on Software Analytics
              September 2017
              26 pages
              ISBN:9781450351577
              DOI:10.1145/3121257

              Copyright © 2017 ACM

              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 4 September 2017

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • short-paper

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader