Formal Methods in Collaborative Projects

Anna Zamansky, Guillermo Rodriguez-Navas, Mark Adams, Maria Spichkova


In this paper we address particular aspects of integration of formal methods in large-scale industrial projects, namely collaborative aspects. We review recent works addressing such aspects, identify some current trends and discuss directions for further research.


  1. Abrial, J.-R., Lee, M. K., Neilson, D., Scharbach, P., and Sørensen, I. H. (1991). The b-method. In VDM'91 Formal Software Development Methods, pages 398- 405. Springer.
  2. Alkassar, E., Hillebrand, M. A., Leinenbach, D. C., Schirmer, N. W., Starostin, A., and Tsyban, A. (2009). Balancing the load: Leveraging semantics stack for systems verification. Journal of Automated Reasoning: Special Issue on Operating Systems Verification , 42, Numbers 2-4:389-454.
  3. Andronick, J., Jeffery, R., Klein, G., Kolanski, R., Staples, M., Zhang, H., and Zhu, L. (2012). Large-scale formal verification in practice: A process perspective. In Software Engineering (ICSE), 2012 34th International Conference on, pages 1002-1011. IEEE.
  4. Atzeni, A., Su, T., and Montanaro, T. (2014). Lightweight formal verification in real world, a case study. InAdvanced Information Systems Engineering Workshops, pages 335-342. Springer.
  5. Balser, M., Reif, W., Schellhorn, G., Stenzel, K., and Thums, A. (2000). Formal system development with kiv. In Fundamental approaches to software engineering, pages 363-366. Springer.
  6. Bani-Salameh, H. and Jeffery, C. (2014). Collaborative and social development environments: A literature review. Int. J. Comput. Appl. Technol., 49(2):89-103.
  7. Beckert, B. and Klebanov, V. (2004). Proof reuse for deductive program verification. InSoftware Engineering and Formal Methods, 2004. SEFM 2004. Proceedings of the Second International Conference on, pages 77- 86. IEEE.
  8. Bennion, M. and Habli, I. (2014). A candid industrial evaluation of formal software verification using model checking. In Companion Proceedings of the 36th International Conference on Software Engineering, pages 175-184. ACM.
  9. Bjørner, D. and Havelund, K. (2014). 40 years of formal methods. In FM 2014: Formal Methods, pages 42- 61. Springer.
  10. Bloem, R., Cavada, R., Pill, I., Roveri, M., and Tchaltsev, A. (2007). Rat: A tool for the formal analysis of requirements. In Computer aided verification , pages 263-267. Springer.
  11. Bloomfield, R., Craigen, D., Koob, F., Ullmann, M., and Wittmann, S. (2000). Formal methods diffusion: Past lessons and future prospects. In Computer Safety, Reliability and Security, pages 211-226. Springer.
  12. Botaschanjan, J., Broy, M., Gruler, A., Harhurin, A., Knapp, S., Kof, L., Paul, W., and Spichkova, M. (2008). On the correctness of upper layers of automotive systems. Formal aspects of computing, 20(6):637-662.
  13. Botaschanjan, J., Gruler, A., Harhurin, A., Kof, L., Spichkova, M., and Trachtenherz, D. (2006). Towards Modularized Verification of Distributed TimeTriggered Systems. In FM 2006: Formal Methods, pages 163-178. Springer.
  14. Botaschanjan, J., Kof, L., Kühnel, C., and Spichkova, M. (2005). Towards Verified Automotive Software. In 2nd International ICSE workshop on Software. ACM.
  15. Bourke, T., Daum, M., Klein, G., and Kolanski, R. (2012). Challenges and experiences in managing large-scale proofs. In AISC/MKM/Calculemus, pages 32-48.
  16. Bowen, J. P. and Hinchey, M. G. (1995a). Seven more myths of formal methods. IEEE software, 12(4):34- 41.
  17. Bowen, J. P. and Hinchey, M. G. (1995b). Ten commandments of formal methods. Computer, 28(4):56-63.
  18. Bowen, J. P. and Hinchey, M. G. (2005). Ten commandments revisited: a ten-year perspective on the industrial application of formal methods. In Proceedings of the 10th international workshop on Formal methods for industrial critical systems, pages 8-16. ACM.
  19. Bowen, J. P. and Hinchey, M. G. (2006). Ten commandments of formal methods... ten years later. Computer, 39(1):40-48.
  20. Craigen, D., Gerhart, S., and Ralston, T. (1993). An international survey of industrial applications of formal methods. In Z User Workshop, London 1992, pages 1-5. Springer.
  21. De Jonge, M., Visser, E., and Visser, J. M. (2001). Collaborative software development. Citeseer.
  22. Eker, J., Janneck, J. W., Lee, E. A., Liu, J., Liu, X., Ludvig, J., Neuendorffer, S., Sachs, S., and Xiong, Y. (2003). Taming heterogeneity - the ptolemy approach. In Proceedings of the IEEE, pages 127-144.
  23. Feilkas, M., Fleischmann, A., Hölzl, F., Pfaller, C., Rittmann, S., Scheidemann, K., Spichkova, M., and Trachtenherz, D. (2009). A Top-Down Methodology for the Development of Automotive Software. Technical Report TUM-I0902, TU München.
  24. Feilkas, M., Hlzl, F., Pfaller, C., Rittmann, S., Schtz, B., Schwitzer, W., Sitou, W., Spichkova, M., and Trachtenherz, D. (2011). A Refined Top-Down Methodology for the Development of Automotive Software Systems - The KeylessEntry-System Case Study. Technical Report TUM-I1103, TU München.
  25. Fitzgerald, J. S., Larsen, P. G., and Larsen, P. (1995). Formal specification techniques in the commercial development process. In Position Papers from the Workshop on Formal Methods Application in Software Engineering Practice, International Conference on Software Engineering (ICSE-17), Seattle.
  26. Freitas, L. and Whiteside, I. (2014). Proof patterns for formal methods. Springer.
  27. Guiho, G. and Hennebert, C. (1990). Sacem software validation. In Software Engineering, 1990. Proceedings., 12th International Conference on, pages 186- 191. IEEE.
  28. Hall, A. (1990). Seven myths of formal methods. Software, IEEE, 7(5):11-19.
  29. Huang, X., Kerber, M., Richts, J., and Sehn, A. (1994). Planning mathematical proofs with methods. Elektronische Informationsverarbeitung und Kybernetik, 30(5/6):277-291.
  30. Jackson, D. (2001). Lightweight formal methods. In FME 2001: Formal Methods for Increasing Software Productivity, pages 1-1. Springer.
  31. Jeffery, R., Staples, M., Andronick, J., Klein, G., and Murray, T. (2015). An empirical research agenda for understanding formal methods productivity. Information and Software Technology, 60:102-112.
  32. Jones, C. B., Jackson, D., and Wing, J. (1996). Formal methods light. Computer, 28(4):20-22.
  33. Klein, G., Elphinstone, K., Heiser, G., Andronick, J., Cock, D., Derrin, P., Elkaduwe, D., Engelhardt, K., Kolanski, R., Norrish, M., Sewell, T., Tuch, H., and Winwood, S. (2009). sel4: formal verification of an os kernel. In Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles, SOSP 7809, pages 207-220, New York, NY, USA. ACM.
  34. Knight, J. C., Hanks, K. S., and Travis, S. R. (2001). Tool support for production use of formal techniques. In Software Reliability Engineering, 2001. ISSRE 2001. Proceedings. 12th International Symposium on, pages 242-251. IEEE.
  35. Kühnel, C. and Spichkova, M. (2007). Fault-Tolerant Communication for Distributed Embedded Systems. In Software Engineering and Fault Tolerance, Series on Software Engineering and Knowledge Engineering.
  36. Kuhrmann, M., Fernández, D. M., and Gröber, M. (2013). Towards artifact models as process interfaces in distributed software projects. In Proceedings of the 2013 IEEE 8th International Conference on Global Software Engineering, ICGSE 7813, pages 11-20, Washington, DC, USA. IEEE Computer Society.
  37. Lee, G., DeLone, W., and Espinosa, J. A. (2006). Ambidextrous coping strategies in globally distributed software development projects. Commun. ACM, 49(10):35-40.
  38. Maier, A. and Hess, S. (2014). We need non-formal methods based on formal models in interaction design. In Building Bridges: HCI, Visualization, and Nonformal Modeling, pages 150-164. Springer.
  39. Mandrioli, D. (2015). On the heroism of really pursuing formal methods. In Formal Methods in Software Engineering (FormaliSE), 2015 IEEE/ACM 3rd FME Workshop on, pages 1-5. IEEE.
  40. Melis, E. and Schairer, A. (1998). Similarities and reuse of proofs in formal software verification. InAdvances in Case-Based Reasoning, pages 76-87. Springer.
  41. Newcombe, C., Rath, T., Zhang, F., Munteanu, B., Brooker, M., and Deardeuff, M. (2015). How amazon web services uses formal methods. Communications of the ACM, 58(4):66-73.
  42. Osaiweran, A., Schuts, M., Hooman, J., Groote, J. F., and van Rijnsoever, B. (2015). Evaluating the effect of a lightweight formal technique in industry. International Journal on Software Tools for Technology Transfer, pages 1-16.
  43. Portillo-Rodríguez, J., Vizcaíno, A., Piattini, M., and Beecham, S. (2012). Tools used in global software engineering: A systematic mapping review. Inf. Softw. Technol., 54(7):663-685.
  44. RuleBase, I. (2015). Ibm rulebase homepage.
  45. Schuts, M. and Hooman, J. (2015). Formalizing the concept phase of product development. In FM 2015: Formal Methods, pages 605-608. Springer.
  46. Snook, C. and Harrison, R. (2001). Practitioners' views on the use of formal methods: an industrial survey by structured interview. Information and Software Technology, 43(4):275-283.
  47. Spichkova, M. (2013). Design of formal languages and interfaces:formal does not mean unreadable. IGI Global.
  48. Spichkova, M., Hölzl, F., and Trachtenherz, D. (2012). Verified System Development with the AutoFocus Tool Chain. In 2nd Workshop on Formal Methods in the Development of Software, WS-FMDS.
  49. Staples, M., Jeffery, R., Andronick, J., Murray, T., Klein, G., and Kolanski, R. (2014). Productivity for proof engineering. In Proceedings of the 8th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, page 15. ACM.
  50. Stidolph, D. C. and Whitehead, J. (2003). Managerial issues for the consideration and use of formal methods. In FME 2003: Formal Methods, pages 170-186. Springer.
  51. Trkman, M., Vrhovec, S., Vavpoti?, D., and Krisper, M. (2013). Defending the need for a new global software approach: A literature review. In Information Communication Technology Electronics Microelectronics (MIPRO), 2013 36th International Convention on, pages 199-202.
  52. Whitehead, J., Mistrík, I., Grundy, J., and van der Hoek, A. (2010). Collaborative software engineering: Concepts and techniques. In Collaborative Software Engineering, pages 1-30. Springer.
  53. Wiegers, K. E. (2001). Inspecting requirements. StickyMinds. com.
  54. Woodcock, J., Larsen, P. G., Bicarregui, J., and Fitzgerald, J. (2009). Formal methods: Practice and experience. ACM Computing Surveys (CSUR), 41(4):19.
  55. Zave, P. (2012). Using lightweight modeling to understand chord. ACM SIGCOMM Computer Communication Review, 42(2):49-57.
  56. Zhiming, C., Zhe, Y., Menghan, W., and Jiangling, Y. (2014). The agents coordination and templates aggregation in distributed modeling. International Journal of Hybrid Information Technology, 7(2):369-378.
  57. Zimmerman, M. K., Lundqvist, K., and Leveson, N. (2002). Investigating the readability of state-based formal requirements specification languages. InProceedings of the 24th International Conference on Software engineering, pages 33-43. ACM.

Paper Citation

in Harvard Style

Zamansky A., Rodriguez-Navas G., Adams M. and Spichkova M. (2016). Formal Methods in Collaborative Projects . In Proceedings of the 11th International Conference on Evaluation of Novel Software Approaches to Software Engineering - Volume 1: COLAFORM, (ENASE 2016) ISBN 978-989-758-189-2, pages 396-402. DOI: 10.5220/0005937403960402

in Bibtex Style

author={Anna Zamansky and Guillermo Rodriguez-Navas and Mark Adams and Maria Spichkova},
title={Formal Methods in Collaborative Projects},
booktitle={Proceedings of the 11th International Conference on Evaluation of Novel Software Approaches to Software Engineering - Volume 1: COLAFORM, (ENASE 2016)},

in EndNote Style

JO - Proceedings of the 11th International Conference on Evaluation of Novel Software Approaches to Software Engineering - Volume 1: COLAFORM, (ENASE 2016)
TI - Formal Methods in Collaborative Projects
SN - 978-989-758-189-2
AU - Zamansky A.
AU - Rodriguez-Navas G.
AU - Adams M.
AU - Spichkova M.
PY - 2016
SP - 396
EP - 402
DO - 10.5220/0005937403960402