Skip to main content
Log in

Some recent advances in automated analysis

  • TACAS 2014
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

Due to the increasing complexity of software systems, there is a growing need for automated and scalable software synthesis and analysis. In the last decade, active research in the formal methods community brought interesting results and valuable tools. However, there are still challenges to face and hard problems that need to be solved. We briefly outline some recent trends, and review some of the latest achievements, introducing six papers selected from the 20th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2014).

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Ábrahám, E.: Building bridges between symbolic computation and satisfiability checking. In: Proceedings of the 2015 ACM International Symposium on Symbolic and Algebraic Computation (ISSAC’15), pp. 1–6. ACM Press, New York (2015)

  2. Ábrahám, E., Becker, B., Dehnert, C., Jansen, N., Katoen, J.-P., Wimmer, R.: Counterexample generation for discrete-time Markov models: an introductory survey. In: Formal Methods for Executable Software Models—14th International School on Formal Methods for the Design of Computer, Communication, and Software Systems (SFM’14), Advanced Lectures. LNCS, vol. 8483, pp. 65–121. Springer, Berlin (2014)

  3. Ábrahám, E., Bekas, C., Brandic, I., Genaim, S., Johnsen, E.B., Kondov, I., Pllana, S., Streit, A.: Preparing HPC applications for exascale: challenges and recommendations. CoRR. arXiv:1503.06974 (2015)

  4. Ábrahám, E., Havelund, K. (eds.): Proceedings of the 20th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’14). LNCS, vol. 8413. Springer, Berlin (2014)

  5. Allan, C., Avgustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Lhoták, O., de Moor, O., Sereni, D., Sittamplan, G., Tibble, J.: Adding trace matching with free variables to AspectJ. In: Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA’05), pp. 345–364. ACM Press, New York (2005)

  6. Armando, A., Carbone, R., Compagna, L.: SATMC: a SAT-based model checker for security-critical systems. In: Proceedings of the 20th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’14). LNCS, vol. 8413, pp. 31–45. Springer, Berlin (2014)

  7. Armando, A., Carbone, R., Compagna, L.: SATMC: a SAT-based model checker for security protocols, business processes, and security APIs. Int. J. Softw. Tools Technol. Transf. doi:10.1007/s10009-015-0385-y (2015)

  8. Artho, C., Havelund, K., Biere, A.: High-level data races. Softw. Test. Verif. Reliab. 13(4), 207–227. doi:10.1002/stvr.281 (2003)

  9. Baier, C., Haverkort, B.R., Hermanns, H., Katoen, J.-P.: Performance evaluation and model checking join forces. Commun. ACM 53(9), 76–85 (2010)

    Article  Google Scholar 

  10. Baier, C., Katoen, J.-P.: Principles of Model Checking. The MIT Press, Cambridge (2008)

    MATH  Google Scholar 

  11. Barrett, C., Conway, C.L., Deters, M., Hadarean, L., Jovanović, D., King, T., Reynolds, A., Tinelli, C.: CVC4. In: Proceedings of the 23rd International Conference on Computer Aided Verification (CAV’11). LNCS, vol. 6806, pp. 171–177. Springer, Berlin (2011)

  12. Barringer, H.: A Survey of Verification Techniques for Parallel Programs. LNCS, vol. 191. Springer, Berlin (1985)

  13. Barringer, H., Falcone, Y., Havelund, K., Reger, G., Rydeheard, D.: Quantified event automata—towards expressive and efficient runtime monitors. In: Proceedings of the 18th International Symposium on Formal Methods (FM’12). LNCS, vol. 7436, pp. 68–84. Springer, Berlin (2012)

  14. Barringer, H., Goldberg, A., Havelund, K., Sen, K.: Rule-based runtime verification. In: Proceedings of the 5th International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI’04). LNCS, vol. 2937, pp. 44–57. Springer, Berlin (2004)

  15. Barringer, H., Havelund, K.: TraceContract: a Scala DSL for trace analysis. In: Proceedings of the 17th International Symposium on Formal Methods (FM’11). LNCS, vol. 6664, pp. 57–72. Springer, Berlin (2011)

  16. Barringer, H., Rydeheard, D.E., Havelund, K.: Rule systems for run-time monitoring: from Eagle to RuleR. J. Log. Comput. 20(3), 675–706 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  17. Basin, D.A., Klaedtke, F., Müller, S.: Policy monitoring in first-order temporal logic. In: Proceedings of the 22nd International Conference on Computer Aided Verification (CAV’10). LNCS, vol. 6174, pp. 1–18. Springer, Berlin (2010)

  18. Bauer, A., Küster, J.-C., Vegliach, G.: From propositional to first-order monitoring. In: Proceedings of the 4th International Conference on Runtime Verification (RV’13). LNCS, vol. 8174, pp. 59–75. Springer, Berlin (2013)

  19. Behrmann, G., Hune, T., Vaandrager, F.: Distributing timed model checking—how the search order matters. In: Proceedings of the 12th International Conference on Computer Aided Verification (CAV’00). LNCS, vol. 1855, pp. 216–231. Springer, Berlin (2000)

  20. Bensalem, S., Havelund, K.: Dynamic deadlock analysis of multi-threaded programs. In: Proceedings of the First Haifa International Conference on Hardware and Software Verification and Testing (HVC’05). LNCS, vol. 3875, pp. 208–223. Springer, Berlin (2006)

  21. Bensalem, S., Havelund, K., Orlandini, A.: Verification and validation meet planning and scheduling. Softw. Tools Technol. Transf. 16(1), 1–12 (2014)

    Article  Google Scholar 

  22. Bodden, E.: MOPBox: A library approach to runtime verification. In: Proceedings of the 2nd International Conference on Runtime Verification (RV’11). LNCS, vol. 7186, pp. 365–369. Springer, Berlin (2011)

  23. Bouton, T., de Oliveira, D.C.B., Déharbe, D., Fontaine, P.: veriT: An open, trustable and efficient SMT-solver. In: Proceedings of the 22nd International Conference on Automated Deduction (CADE-22). LNCS, vol. 5663, pp. 151–156. Springer, Berlin (2009)

  24. Bruttomesso, R., Pek, E., Sharygina, N., Tsitovich, A.: The OpenSMT solver. In: Proceedings of the 16th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’10). LNCS, vol. 6015, pp. 150–153. Springer, Berlin (2010)

  25. Chen, F., Roşu, G.: Parametric trace slicing and monitoring. In: Proceedings of the 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’09). LNCS, vol. 5505, pp. 246–261 (2009)

  26. Cimatti, A., Griggio, A., Schaafsma, B.J., Sebastiani, R.: The MathSAT5 SMT solver. In: Proceedings of the 19th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’13). LNCS, vol. 7795, pp. 93–107. Springer, Berlin (2013)

  27. Corzilius, F., Kremer, G., Junges, S., Schupp, S., Abraham, E.: SMT-RAT: an open source C toolbox for strategic and parallel SMT solving. In: Proceedings of the 18th International Conference on Theory and Applications of Satisfiability Testing (SAT’15). LNCS. Springer, Berlin (2015)

  28. Davis, M., Logemann, G., Loveland, D.: A machine program for theorem-proving. Commun. ACM 5(7), 394–397 (1962)

    Article  MathSciNet  MATH  Google Scholar 

  29. Davis, M., Putnam, H.: A computing procedure for quantification theory. J. ACM 7(3), 201–215 (1960)

    Article  MathSciNet  MATH  Google Scholar 

  30. de Moura, L.M., Bjørner, N.: Z3: an efficient SMT solver. In: Proceedings of the 14th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’08). LNCS, vol. 4963, pp. 337–340. Springer, Berlin (2008)

  31. de Roever, W.P., de Boer, F.S., Hannemann, U., Hooman, J., Lakhnech, Y., Poel, M., Zwiers, J.: Concurrency Verification: Introduction to Compositional and Noncompositional Methods. Cambridge Tracts in Theoretical Computer Science, vol. 54. Cambridge University Press, Cambridge (2001)

  32. Decker, N., Leucker, M., Thoma, D.: Monitoring modulo theories. In: Proceedings of the 20th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’14). LNCS, vol. 8413, pp. 341–356. Springer, Berlin (2014)

  33. Decker, N., Leucker, M., Thoma, D.: Monitoring modulo theories. Int. J. Softw. Tools Technol. Transf. doi:10.1007/s10009-015-0380-3 (2015)

  34. Dehnert, C., Junges, S., Jansen, N., Corzilius, F., Volk, M., Bruintjes, H., Katoen, J.-P., Ábrahám, E.: Prophesy: a probabilistic parameter synthesis tool. In: Proceedings of the 27th International Conference on Computer Aided Verification (CAV’15). LNCS, vol. 9206, pp. 214–231. Springer, Berlin (2015)

  35. Drusinsky, D.: The temporal rover and the ATG rover. In: Proceedings of the 7th International SPIN Workshop on Model Checking and Software Verification (SPIN’00). LNCS, vol. 1885, pp. 323–330. Springer, Berlin (2000)

  36. Dutertre, B.: Yices 2.2. In: Proceedings of the 26th International Conference on Computer Aided Verification (CAV’14). LNCS, vol. 8559, pp. 737–744. Springer, Berlin (2014)

  37. Dutertre, B., de Moura, L.: A fast linear-arithmetic solver for DPLL(T). In: Proceedings of the 18th International Conference on Computer Aided Verification (CAV’06). LNCS, vol. 4144, pp. 81–94. Springer, Berlin (2006)

  38. Eén, N., Sörensson, N.: An extensible SAT-solver. In: Proceedings of the 6th International Conference on Theory and Applications of Satisfiability Testing (SAT’03). LNCS, vol. 2919, pp. 502–518. Springer, Berlin (2004)

  39. Falcone, Y., Havelund, K., Reger, G.: A tutorial on runtime verification. In: Summer School Marktoberdorf 2012—Engineering Dependable Software Systems. IOS Press, Amsterdam (2013)

  40. Filippidis, I., Holzmann, G.J.: An improvement of the piggyback algorithm for parallel model checking. In: Proceedings of the 2014 International Symposium on Model Checking of Software (SPIN’14), pp. 48–57. ACM Press, New York (2014)

  41. Fränzle, M., Herde, C., Teige, T., Ratschan, S., Schubert, T.: Efficient solving of large non-linear arithmetic constraint systems with complex Boolean structure. J. Satisf. Boolean Model. Comput. 1(3–4), 209–236 (2007)

    MATH  Google Scholar 

  42. Garavel, H., Mateescu, R., Smarandache, I.: Parallel state space construction for model-checking. In: Proceedings of the 8th International SPIN Workshop on Model Checking of Software (SPIN’01), pp. 217–234. Springer, Berlin (2001)

  43. Gibson-Robinson, T., Armstrong, P., Boulgakov, A., Roscoe, A.W.: FDR3: a parallel refinement checker for CSP. Int. J. Softw. Tools Technol. Transf. doi:10.1007/s10009-015-0377-y (2015)

  44. Gibson-Robinson, T., Armstrong, P.J., Boulgakov, A., Roscoe, A.W.: FDR3—a modern refinement checker for CSP. In: Proceedings of the 20th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’14). LNCS, vol. 8413, pp. 187–201. Springer, Berlin (2014)

  45. Giesl, J., Brockschmidt, M., Emmes, F., Frohn, F., Fuhs, C., Otto, C., Plücker, M., Schneider-Kamp, P., Ströder, T., Swiderski, S., Thiemann, R.: Proving termination of programs automatically with AProVE. In: Proceedings of the 7th International Joint Conference on Automated Reasoning (IJCAR’14). LNAI, vol. 8562, pp. 184–191. Springer, Berlin (2014)

  46. Goubault-Larrecq, J., Olivain, J.: A smell of ORCHIDS. In: Proceedings of the 8th International Workshop on Runtime Verification (RV’08). LNCS, vol. 5289, pp. 1–20. Springer, Berlin (2008)

  47. Hahn, E.M., Hermanns, H., Wachter, B., Zhang, L.: PARAM: a model checker for parametric Markov models. In: Proceedings of the 22nd International Conference on Computer Aided Verification (CAV’10). LNCS, vol. 6174, pp. 660–664. Springer, Berlin (2010)

  48. Hallé, S., Villemaire, R.: Runtime enforcement of web service message contracts with data. IEEE Trans. Serv. Comput. 5(2), 192–206 (2012)

    Article  Google Scholar 

  49. Havelund, K.: Rule-based runtime verification revisited. Softw. Tools Technol. Transf. 17(2), 143–170 (2014)

    Article  Google Scholar 

  50. Havelund, K., Goldberg, A.: Verify your runs. In: Proceedings of the 1st IFIP TC 2/WG 2.3 Conference on Verified Software: Theories, Tools, Experiments (VSTTE’05), pp. 374–383 (2008)

  51. Havelund, K., Roşu, G.: Efficient monitoring of safety properties. Softw. Tools Technol. Transf. 6(2), 158–173 (2004)

    Article  Google Scholar 

  52. Heyman, T., Geist, D., Grumberg, O., Schuster, A.: Achieving scalability in parallel reachability analysis of very large circuits. In: Proceedings of the 12th International Conference on Computer Aided Verification (CAV’00), pp. 20–35. Springer, Berlin (2000)

  53. Holzmann, G.J.: Parallelizing the SPIN model checker. In: Proceedings of the 19th International Workshop on Model Checking Software (SPIN’12). LNCS, vol. 7385, pp. 155–171. Springer, Oxford (2012)

  54. Holzmann, G.J.: Proving properties of concurrent programs. In: Proceedings 20th International Symposium on Model Checking Software (SPIN’13). LNCS, vol. 7976, pp. 18–23. Springer, Berlin (2013)

  55. Holzmann, G.J., Bošnački, D.: The design of a multicore extension of the SPIN model checker. IEEE Trans. Softw. Eng. 33(10), 659–674 (2007)

    Article  Google Scholar 

  56. Holzmann, G.J., Joshi, R., Groce, A.: Swarm verification techniques. IEEE Trans. Softw. Eng. 37(6), 845–857 (2011)

    Article  Google Scholar 

  57. Isberner, M., Howar, F., Steffen, B.: Learning register automata: from languages to program structures. Mach. Learn. 96(1–2), 65–98 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  58. Katoen, J.-P., Zapreev, I.S., Hahn, E.M., Hermanns, H., Jansen, D.N.: The ins and outs of the probabilistic model checker MRMC. Perform. Eval. 68(2), 90–104 (2011)

    Article  Google Scholar 

  59. Kwiatkowska, M.Z.: Model checking for probability and time: from theory to practice. In: Proceedings of the 18th IEEE Symposium on Logic in Computer Science (LICS’03), pp. 351–360. IEEE Computer Society Press, Piscataway (2003)

  60. Kwiatkowska, M.Z., Norman, G., Parker, D.: Stochastic model checking. In: Formal Methods for Performance Evaluation—7th International School on Formal Methods for the Design of Computer, Communication, and Software Systems (SFM’07), Advanced Lectures. LNCS, vol. 4486, pp. 220–270. Springer, Berlin (2007)

  61. Kwiatkowska, M.Z., Norman, G., Parker, D.: PRISM 4.0: verification of probabilistic real-time systems. In: Proceedings of the 23rd International Conference on Computer Aided Verification (CAV’11). LNCS, vol. 6806, pp. 585–591 (2011)

  62. Lamport, L.: Proving the correctness of multiprocess programs. IEEE Trans. Softw. Eng. 3(2), 125–143 (1977)

    Article  MathSciNet  MATH  Google Scholar 

  63. Lee, I., Kannan, S., Kim, M., Sokolsky, O., Viswanathan, M.: Runtime assurance based on formal specifications. In: Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA’99), pp. 279–287. CSREA Press, Las Vegas (1999)

  64. Lerda, F., Sisto, R.: Distributed-memory model checking with SPIN. In: Proceedings of the 5th and 6th International SPIN Workshops on Theoretical and Practical Aspects of SPIN Model Checking, pp. 22–39. Springer, Berlin (1999)

  65. Leucker, M., Schallhart, C.: A brief account of runtime verification. J. Log. Algebraic Program. 78(5), 293–303 (2008)

    Article  MATH  Google Scholar 

  66. Levin, G.M., Gries, D.: A proof technique for communicating sequential processes. Acta Inform. 15(3), 281–302 (1981)

    Article  MathSciNet  MATH  Google Scholar 

  67. Lowe, G.: Concurrent depth-first search algorithms. In: Proceedings of the 20th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’14). LNCS, vol. 8413, pp. 202–216. Springer, Berlin (2014)

  68. Lowe, G.: Concurrent depth-first search algorithms based on Tarjan’s algorithm. Int. J. Softw. Tools Technol. Transf. doi:10.1007/s10009-015-0382-1 (2015)

  69. Marques-silva, J.P., Sakallah, K.A.: Grasp: a search algorithm for propositional satisfiability. IEEE Trans. Comput. 48, 506–521 (1999)

    Article  MathSciNet  Google Scholar 

  70. Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Trans. Program. Lang. Syst. 1(2), 245–257 (1979)

    Article  MATH  Google Scholar 

  71. Owicki, S., Gries, D.: Verifying properties of parallel programs: an axiomatic approach. Commun. ACM 19(5), 279–285 (1976)

    Article  MathSciNet  MATH  Google Scholar 

  72. Reiss, S.P., Tarvo, A.: What is my program doing? Program dynamics in programmer’s terms. In: Proceedings of the 2nd International Conference on Runtime Verification (RV’11). LNCS, vol. 7186, pp. 245–259. Springer, Berlin (2011)

  73. Savage, S., Burrows, M., Nelson, G., Sobalvarro, P., Anderson, T.: Eraser: A dynamic data race detector for multithreaded programs. ACM Trans. Comput. Syst. 15(4), 391–411 (1997)

    Article  Google Scholar 

  74. Shostak, R.E.: A practical decision procedure for arithmetic with function symbols. J. ACM 26(2), 351–360 (1979)

    Article  MathSciNet  MATH  Google Scholar 

  75. Stern, U., Dill, D.L.: Parallelizing the Mur\(\phi \) verifier. In: Proceedings of the 9th International Conference on Computer Aided Verification (CAV’97), pp. 256–267. Springer, Berlin (1997)

  76. Stolz, V., Bodden, E.: Temporal assertions using AspectJ. In: Proceedings of the 5th International Workshop on Runtime Verification (RV’05). ENTCS, vol. 144(4), pp. 109–124. Elsevier, Amsterdam (2006)

  77. von Essen, C., Giannakopoulou, D.: Analyzing the next generation airborne collision avoidance system. In: Proceedings of the 20th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’14). LNCS, vol. 8413, pp. 620–635. Springer, Berlin (2014)

  78. von Essen, C., Giannakopoulou, D.: Probabilistic verification and synthesis of the next generation airborne collision avoidance system. Int. J. Softw. Tools Technol. Transf. doi:10.1007/s10009-015-0388-8 (2015)

  79. Wijs, A., Bošnački, D.: GPUexplore: many-core on-the-fly state space exploration using GPUs. In: Proceedings of the 20th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’14). LNCS, vol. 8413, pp. 233–247. Springer, Berlin (2014)

  80. Wijs, A., Bošnački, D.: Many-core on-the-fly model checking of safety properties using GPUs. Int. J. Softw. Tools Technol. Transf. doi:10.1007/s10009-015-0379-9 (2015)

  81. Zankl, H., Middeldorp, A.: Satisfiability of non-linear (ir)rational arithmetic. In: Proceedings of the 16th International Conference on Logic for Programming, Artificial Intelligence, and Reasoning (LPAR-16). LNAI, vol. 6355, pp. 481–500. Springer, Berlin (2010)

  82. Zhang, L., Madigan, C.F., Moskewicz, M.H., Malik, S.: Efficient conflict driven learning in a Boolean satisfiability solver. In: Proceedings of the 2001 IEEE/ACM International Conference on Computer Aided Design (ICCAD’01), pp. 279–285. IEEE Computer Society Press, Piscataway (2001)

Download references

Acknowledgments

We are grateful to all authors for their contributions and to the reviewers of TACAS’14 and of this special issue for their thorough and valuable work.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Klaus Havelund.

Additional information

The research performed by this author was carried out at Jet Propulsion Laboratory, California Institute of Technology, under a contract with the National Aeronautics and Space Administration.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Ábrahám, E., Havelund, K. Some recent advances in automated analysis. Int J Softw Tools Technol Transfer 18, 121–128 (2016). https://doi.org/10.1007/s10009-015-0403-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-015-0403-0

Keywords

Navigation