Advertisement

Software-Verifikation

Beiträge der Münchner Forschung
  • Dirk Beyer
  • Rolf Hennicker
  • Martin Hofmann
  • Tobias Nipkow
  • Martin Wirsing
Chapter

Zusammenfassung

Bei der Entwicklung von Software ist es aufgrund ihrer Komplexität erforderlich, automatisierte Verfahren zur Überprüfung der korrekten Funktion einzusetzen. Um die Integration und korrekte Zusammenarbeit verschiedener Komponenten großer Softwaresysteme sicherzustellen, entwickeln Forschergruppen an den Münchner Universitäten sowohl Modell-basierte als auch Quellcode-basierte Techniken. Als Anwendungsbereiche betrachten wir unter anderem Komponenten der Infrastruktur, autonome Systeme und service-orientierte Systeme. Wir setzen Methoden und Algorithmen ein, die den Ingenieur während der Modellierung, der Programmierung und im Releasezyklus mit automatischen Techniken zur Abstraktion, Transformation und Verifikation unterstützen.

Literatur

  1. 1.
    F. L. Bauer. Program development by stepwise transformations – The project CIP. Appendix: Programming languages under educational and under professional aspects. In Program Construction, International Summer School, Marktoberdorf, LNCS 69, pages 237–272. Springer, 1978. DOI:  10.1007/BFb0014671 Google Scholar
  2. 2.
    F. L. Bauer, R. Berghammer, M. Broy, W. Dosch, F. Geiselbrechtinger, R. Gnatz, E. Hangel, W. Hesse, B. Krieg-Brückner, A. Laut, T. Matzner, B. Möller, F. Nickl, H. Partsch, P. Pepper, K. Samelson, M. Wirsing, and H. Wössner. The Munich Project CIP, Volume I: The Wide Spectrum Language CIP-L. LNCS 183. Springer, 1985. DOI:  10.1007/3-540-15187-7 CrossRefGoogle Scholar
  3. 3.
    F. L. Bauer, B. Möller, H. Partsch, and P. Pepper. Formal program construction by transformations – Computer-aided, Intuition-guided Programming. IEEE Trans. Software Eng., 15(2):165–180, 1989. DOI:  10.1109/32.21743 MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    S. S. Bauer, P. Mayer, A. Schroeder, and R. Hennicker. On weak modal compatibility, refinement, and the MIO Workbench. In Proc. TACAS, LNCS 6015, pages 175–189. Springer, 2010.Google Scholar
  5. 5.
    L. Beringer, R. Grabowski, and M. Hofmann. Verifying pointer and string analyses with region type systems. Computer Languages, Systems & Structures, 39(2):49–65, 2013. DOI:  10.1016/j.cl.2013.01.001 CrossRefzbMATHGoogle Scholar
  6. 6.
    D. Beyer. Software verification with validation of results (Report on SV-COMP 2017). In Proc. TACAS. Springer, 2017. LNCS 10206, pages 331–349, DOI: 10.1007/978-3-662-54580-5_20Google Scholar
  7. 7.
    D. Beyer and M. Dangl. Verification-aided debugging: An interactive web-service for exploring error witnesses. In Proc. CAV (2), LNCS 9780, pages 502–509. Springer, 2016. DOI:  10.1007/978-3-319-41540-6_28 Google Scholar
  8. 8.
    D. Beyer, M. Dangl, D. Dietsch, and M. Heizmann. Correctness witnesses: Exchanging verification results between verifiers. In Proc. FSE, pages 326–337. ACM, 2016. DOI:  10.1145/2950290.2950351 Google Scholar
  9. 9.
    D. Beyer, M. Dangl, D. Dietsch, M. Heizmann, and A. Stahlbauer. Witness validation and stepwise testification across software verifiers. In Proc. FSE, pages 721–733. ACM, 2015. DOI:  10.1145/2786805.2786867 Google Scholar
  10. 10.
    D. Beyer, S. Gulwani, and D. Schmidt. Combining model checking and data-flow analysis. In E. M. Clarke, T. A. Henzinger, and H. Veith, editors, Handbook on Model Checking. Springer, 2017.Google Scholar
  11. 11.
    D. Beyer, T. A. Henzinger, and G. Théoduloz. Configurable software verification: Concretizing the convergence of model checking and program analysis. In Proc. CAV, LNCS 4590, pages 504–518. Springer, 2007. DOI:  10.1007/978-3-540-73368-3_51 Google Scholar
  12. 12.
    D. Beyer and T. Lemberger. Symbolic execution with CEGAR. In Proc. ISoLA, LNCS 9952, pages 195–211. Springer, 2016. DOI:  10.1007/978-3-319-47166-2_14 Google Scholar
  13. 13.
    D. Beyer and S. Löwe. Explicit-state software model checking based on CEGAR and interpolation. In Proc. FASE, LNCS 7793, pages 146–162. Springer, 2013. DOI:  10.1007/978-3-642-37057-1_11 Google Scholar
  14. 14.
    D. Beyer, S. Löwe, E. Novikov, A. Stahlbauer, and P. Wendler. Precision reuse for efficient regression verification. In Proc. ESEC/FSE, pages 389–399. ACM, 2013. DOI:  10.1145/2491411.2491429 Google Scholar
  15. 15.
    D. Beyer, S. Löwe, and P. Wendler. Benchmarking and resource measurement. In Proc. SPIN, LNCS 9232, pages 160–178. Springer, 2015. DOI:  10.1007/978-3-319-23404-5_12 Google Scholar
  16. 16.
    A. Bouajjani, J. Esparza, and O. Maler. Reachability analysis of pushdown automata: Application to model-checking. In Proc. CONCUR, LNCS 1243, pages 135–150. Springer, 1997.Google Scholar
  17. 17.
    M. Broy. Towards a formal foundation of the specification and description language SDL. Formal Aspects of Computing, 3(1):21–57, 1991.CrossRefzbMATHGoogle Scholar
  18. 18.
    M. Broy and G. Ştefănescu. The algebra of stream processing functions. Theoretical Computer Science, 258(1):99–129, 2001.MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    E. M. Clarke and E. A. Emerson. Design and synthesis of synchronization skeletons using branching-time temporal logic. In Proc. Logic of Programs 1981, LNCS 131, pages 52–71. Springer, 1982.Google Scholar
  20. 20.
    E. M. Clarke, O. Grumberg, S. Jha, Y. Lu, and H. Veith. Counterexample-guided abstraction refinement for symbolic model checking. J. ACM, 50(5):752–794, 2003.MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    S. Erbatur and M. Hofmann. GuideForce: Type-based enforcement of programming guidelines. In Proc. SEFM, LNCS 9509, pages 75–89. Springer, 2015. DOI:  10.1007/978-3-662-49224-6_8 Google Scholar
  22. 22.
    J. Esparza, P. Ganty, and T. Poch. Pattern-based verification for multithreaded programs. ACM Trans. Program. Lang. Syst., 36(3):9, 2014.CrossRefGoogle Scholar
  23. 23.
    J. Esparza, M. Hofmann, T. Nipkow, H. Seidl, DFG Graduiertenkolleg GRK 1480: Programm und Modellanalyse (PUMA), 2008-2017, 2007.Google Scholar
  24. 24.
    R. Grabowski, M. Hofmann, and K. Li. Type-based enforcement of secure programming guidelines – Code injection prevention at SAP. In Proc. FAST, LNCS 7140, pages 182–197. Springer, 2011. DOI:  10.1007/978-3-642-29420-4_12 Google Scholar
  25. 25.
    T. C. Hales, J. Harrison, S. McLaughlin, T. Nipkow, S. Obua, and R. Zumkeller. A revision of the proof of the Kepler conjecture. Discrete and Computational Geometry, 44:1–34, 2010.MathSciNetCrossRefzbMATHGoogle Scholar
  26. 26.
    R. Hennicker, M. Bidoit, and T.-S. Dang. On synchronous and asynchronous compatibility of communicating components. In Proc. COORDINATION, LNCS 9686, pages 138–156. Springer, 2016.Google Scholar
  27. 27.
    R. Hennicker, S. Janisch, A. Kraus, and M. Ludwig. A web-based modelling and decision support system to investigate global change and the hydrological cycle in the Upper Danube basin. In Regional Assessment of Global Change Impacts – The Project GLOWA-Danube, chapter 2, pages 19–28. Springer, 2016.CrossRefGoogle Scholar
  28. 28.
    R. Hennicker, A. Klarl, and M. Wirsing. Model-checking Helena ensembles with Spin. In Logic, Rewriting, and Concurrency - Essays dedicated to José Meseguer on the Occasion of His 65th Birthday, LNCS 9200, pages 331–360. Springer, 2015.Google Scholar
  29. 29.
    M. M. Hölzl, N. Koch, M. Puviani, M. Wirsing, and F. Zambonelli. The ensemble development life cycle and best practices for collective autonomic systems. In Software Engineering for Collective Autonomic Systems – The ASCENS Approach, LNCS 8998, pages 325–354. Springer, 2015. DOI:  10.1007/978-3-319-16310-9_9 Google Scholar
  30. 30.
    G. A. Kildall. A unified approach to global program optimization. In Proc. POPL, pages 194–206. ACM, 1973. DOI:  10.1145/512927.512945 Google Scholar
  31. 31.
    G. Klein, J. Andronick, K. Elphinstone, G. Heiser, D. Cock, P. Derrin, D. Elkaduwe, K. Engelhardt, R. Kolanski, M. Norrish, T. Sewell, H. Tuch, S. Winwood. Verified Java-Bytecode Verification. PhD thesis, Institut für Informatik, Technische Universität München, 2003.Google Scholar
  32. 32.
    G. Klein et al. seL4: Formal verification of an operating-system kernel. Commun. ACM, 53(6):107–115, 2010.CrossRefGoogle Scholar
  33. 33.
    T. Nipkow and G. Klein. Concrete Semantics with Isabelle/HOL. Springer, 2014. http://concrete-semantics.org. DOI:  10.1007/978-3-319-10542-0 zbMATHGoogle Scholar
  34. 34.
    T. Nipkow, L. Paulson, and M. Wenzel. Isabelle/HOL – A Proof Assistant for Higher-Order Logic. LNCS 2283. Springer, 2002. DOI:  10.1007/3-540-45949-9 zbMATHGoogle Scholar
  35. 35.
    M. Wirsing, A. Clark, S. Gilmore, M. Hölzl, A. Knapp, N. Koch, and A. Schroeder. Semantic-based development of service-oriented systems. In Proc. FORTE, LNCS 4229, pages 24–45. Springer, 2006.Google Scholar
  36. 36.
    M. Wirsing and M. M. Hölzl, editors. Rigorous Software Engineering for Service-Oriented Systems – Results of the SENSORIA Project on Software Engineering for Service-Oriented Computing. LNCS 6582. Springer, 2011. DOI:  10.1007/978-3-642-20401-2 Google Scholar
  37. 37.
    M. Wirsing, M. M. Hölzl, N. Koch, and P. Mayer, editors. Software Engineering for Collective Autonomic Systems – The ASCENS Approach. LNCS 8998. Springer, 2015. DOI:  10.1007/978-3-319-16310-9 Google Scholar

Copyright information

© Springer-Verlag GmbH Deutschland  2017

Authors and Affiliations

  • Dirk Beyer
    • 1
  • Rolf Hennicker
    • 1
  • Martin Hofmann
    • 1
  • Tobias Nipkow
    • 2
  • Martin Wirsing
    • 1
  1. 1.Ludwig-Maximilians-Universität MünchenMünchenDeutschland
  2. 2.Technische Universität MünchenMünchenDeutschland

Personalised recommendations