Advertisement

Skink: Static Analysis of Programs in LLVM Intermediate Representation

(Competition Contribution)
  • Franck CassezEmail author
  • Anthony M. Sloane
  • Matthew Roberts
  • Matthew Pigram
  • Pongsak Suvanpong
  • Pablo Gonzalez de Aledo
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10206)

Abstract

Skink is a static analysis tool that analyses the LLVM intermediate representation (LLVM-IR) of a program source code. The analysis consists of checking whether there is a feasible execution that can reach a designated error block in the LLVM-IR. The result of a program analysis is “correct” if the error block is not reachable, “incorrect” if the error block is reachable, or “inconclusive” if the status of the program could not be determined. In this paper, we introduce Skink 2.0 to analyse single and multi-threaded C programs.

References

  1. 1.
    Heizmann, M., Hoenicke, J., Podelski, A.: Refinement of trace abstraction. In: Palsberg, J., Su, Z. (eds.) SAS 2009. LNCS, vol. 5673, pp. 69–85. Springer, Heidelberg (2009). doi: 10.1007/978-3-642-03237-0_7 CrossRefGoogle Scholar
  2. 2.
    Heizmann, M., Hoenicke, J., Podelski, A.: Software model checking for people who love automata. In: Sharygina, N., Veith, H. (eds.) CAV 2013. LNCS, vol. 8044, pp. 36–52. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-39799-8_2 CrossRefGoogle Scholar
  3. 3.
    Cassez, F., Ziegler, F.: Verification of concurrent programs using trace abstraction refinement. In: Davis, M., Fehnker, A., McIver, A., Voronkov, A. (eds.) LPAR 2015. LNCS, vol. 9450, pp. 233–248. Springer, Heidelberg (2015). doi: 10.1007/978-3-662-48899-7_17 CrossRefGoogle Scholar
  4. 4.
    Abdulla, P.A., Aronis, S., Jonsson, B., Sagonas, K.F.: Optimal dynamic partial order reduction. In: Jagannathan, S., Sewell, P. (eds.) POPL 2014, San Diego, CA, USA, 20–21 January 2014, pp. 373–384. ACM (2014)Google Scholar
  5. 5.
    Sloane, A.M., Cassez, F., Buckley, S.: The sbt-rats parser generator plugin for ala (tool paper). In: SCALA 2016, pp. 110–113. ACM, New York (2016)Google Scholar
  6. 6.
    Sloane, A.M.: Lightweight language processing in Kiama. In: Fernandes, J.M., Lämmel, R., Visser, J., Saraiva, J. (eds.) GTTSE 2009. LNCS, vol. 6491, pp. 408–425. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-18023-1_12 CrossRefGoogle Scholar
  7. 7.
    Cassez, F., Müller, C., Burnett, K.: Summary-based inter-procedural analysis via modular trace refinement. In: FSTTCS 2014, LIPIcs, vol. 29, pp. 545–556. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik (2014)Google Scholar

Copyright information

© Springer-Verlag GmbH Germany 2017

Authors and Affiliations

  • Franck Cassez
    • 1
    Email author
  • Anthony M. Sloane
    • 1
  • Matthew Roberts
    • 1
  • Matthew Pigram
    • 1
  • Pongsak Suvanpong
    • 1
  • Pablo Gonzalez de Aledo
    • 1
  1. 1.Macquarie UniversitySydneyAustralia

Personalised recommendations