Skip to main content

2020 | OriginalPaper | Buchkapitel

Porting the Software Product Line Refinement Theory to the Coq Proof Assistant

verfasst von : Thayonara Alves, Leopoldo Teixeira, Vander Alves, Thiago Castro

Erschienen in: Formal Methods: Foundations and Applications

Verlag: Springer International Publishing

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Software product lines are an engineering approach to systematically build similar software products from a common asset base. When evolving such systems, it is important to have assurance that we are not introducing errors or changing the behavior of existing products. The product line refinement theory establishes the necessary conditions for such assurance. This theory has been specified and proved using the PVS proof assistant. However, the Coq proof assistant is increasingly popular among researchers and practitioners, and, given that some programming languages are already formalized into such tool, the refinement theory might benefit from the potential integration. Therefore, in this work we present a case study on porting the PVS specification of the refinement theory to Coq. We compare the proof assistants based on the noted differences between the specifications and proofs of this theory, providing some reflections on the tactics and strategies used to compose the proofs. According to our study, PVS provided more succinct definitions than Coq, in several cases, as well as a greater number of successful automatic commands that resulted in shorter proofs. Despite that, Coq also brought facilities in definitions such as enumerated and recursive types, and features that support developers in their proofs.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Literatur
2.
Zurück zum Zitat Bodeveix, J.P., Filali, M., Munõz, C.: A formalization of the B method in Coq and PVS. In: FM’99 - B Users Group Meeting - Applying B in An Industrial Context: Tools, Lessons and Techniques, pp. 32–48. Springer, Cham (1999) Bodeveix, J.P., Filali, M., Munõz, C.: A formalization of the B method in Coq and PVS. In: FM’99 - B Users Group Meeting - Applying B in An Industrial Context: Tools, Lessons and Techniques, pp. 32–48. Springer, Cham (1999)
3.
Zurück zum Zitat Borba, P., Teixeira, L., Gheyi, R.: A theory of software product line refinement. Theoret. Comput. Sci. 455, 2–30 (2012)MathSciNetCrossRef Borba, P., Teixeira, L., Gheyi, R.: A theory of software product line refinement. Theoret. Comput. Sci. 455, 2–30 (2012)MathSciNetCrossRef
5.
Zurück zum Zitat Gomes, K., Teixeira, L., Alves, T., Ribeiro, M., Gheyi, R.: Characterizing safe and partially safe evolution scenarios in product lines: an empirical study. In: VaMoS. Association for Computing Machinery (2019) Gomes, K., Teixeira, L., Alves, T., Ribeiro, M., Gheyi, R.: Characterizing safe and partially safe evolution scenarios in product lines: an empirical study. In: VaMoS. Association for Computing Machinery (2019)
6.
Zurück zum Zitat Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature-oriented domain analysis (foda) feasibility study. Technical report. CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University, November 1990 Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature-oriented domain analysis (foda) feasibility study. Technical report. CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University, November 1990
7.
Zurück zum Zitat Kröher, C., Gerling, L., Schmid, K.: Identifying the intensity of variability changes in software product line evolution. In: SPLC, p. 54–64. Association for Computing Machinery (2018) Kröher, C., Gerling, L., Schmid, K.: Identifying the intensity of variability changes in software product line evolution. In: SPLC, p. 54–64. Association for Computing Machinery (2018)
9.
Zurück zum Zitat Miller, S., Greve, D., Wilding, M., Srivas, M.: Formal verification of the Aamp-Fv microcode. Technical report (1999) Miller, S., Greve, D., Wilding, M., Srivas, M.: Formal verification of the Aamp-Fv microcode. Technical report (1999)
10.
Zurück zum Zitat Neves, L., et al.: Safe evolution templates for software product lines. J. Syst. Softw. 106(C), 42–58 (2015)CrossRef Neves, L., et al.: Safe evolution templates for software product lines. J. Syst. Softw. 106(C), 42–58 (2015)CrossRef
12.
Zurück zum Zitat Sampaio, G., Borba, P., Teixeira, L.: Partially safe evolution of software product lines. J. Syst. Softw. 155, 17–42 (2019)CrossRef Sampaio, G., Borba, P., Teixeira, L.: Partially safe evolution of software product lines. J. Syst. Softw. 155, 17–42 (2019)CrossRef
13.
Zurück zum Zitat Spadini, D., Aniche, M., Bacchelli, A.: PyDriller: Python framework for mining software repositories. In: ESEC/FSE, pp. 908–911. Association for Computing Machinery (2018) Spadini, D., Aniche, M., Bacchelli, A.: PyDriller: Python framework for mining software repositories. In: ESEC/FSE, pp. 908–911. Association for Computing Machinery (2018)
15.
Zurück zum Zitat Teixeira, L., Alves, V., Borba, P., Gheyi, R.: A product line of theories for reasoning about safe evolution of product lines. In: SPLC, pp. 161–170. Association for Computing Machinery (2015) Teixeira, L., Alves, V., Borba, P., Gheyi, R.: A product line of theories for reasoning about safe evolution of product lines. In: SPLC, pp. 161–170. Association for Computing Machinery (2015)
Metadaten
Titel
Porting the Software Product Line Refinement Theory to the Coq Proof Assistant
verfasst von
Thayonara Alves
Leopoldo Teixeira
Vander Alves
Thiago Castro
Copyright-Jahr
2020
DOI
https://doi.org/10.1007/978-3-030-63882-5_12

Premium Partner