kth.sePublikationer KTH
Ändra sökning
RefereraExporteraLänk till posten
Permanent länk

Direktlänk
Referera
Referensformat
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annat format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annat språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf
Algorithmic verification of procedural programs in the presence of code variability
KTH, Skolan för datavetenskap och kommunikation (CSC), Teoretisk datalogi, TCS.
KTH, Skolan för datavetenskap och kommunikation (CSC), Teoretisk datalogi, TCS.ORCID-id: 0000-0002-0074-8786
2015 (Engelska)Ingår i: Formal Aspects of Component Software: 11th International Symposium, FACS 2014, Bertinoro, Italy, September 10-12, 2014, Revised Selected Papers, Springer, 2015, Vol. 8997, s. 41s. 327-345Konferensbidrag, Publicerat paper (Refereegranskat)
Abstract [en]

We present a generic framework for verifying temporal safety properties of procedural programs that are dynamically or statically configured by replacing, adapting, or adding new components. To deal with such a variability of a program, we require programmers to provide local specifications for its variable components, and verify the global properties by replacing these specifications with maximal models. Our framework is a generalization of a previously developed framework that abstracts from all program data. In this work, we capture program data and thus significantly increase the range of properties that can be verified. Our framework is generic by being parametric on the set of observed program events and their semantics. We separate program structure from the behavior it induces to facilitate independent component specification and verification. We provide tool support for an instantiation of our framework to programs written in a procedural language with pointers as the only datatype.

Ort, förlag, år, upplaga, sidor
Springer, 2015. Vol. 8997, s. 41s. 327-345
Serie
Lecture Notes in Computer Science, ISSN 0302-9743 ; 8997
Nyckelord [en]
Algorithms, Computer software, Semantics, Algorithmic verification, Generic frameworks, Global properties, Independent components, New components, Procedural languages, Program structures, Temporal safety properties
Nationell ämneskategori
Datavetenskap (datalogi)
Identifikatorer
URN: urn:nbn:se:kth:diva-128950DOI: 10.1007/978-3-319-15317-9_20Scopus ID: 2-s2.0-84922326750ISBN: 978-3-319-15316-2 (tryckt)ISBN: 978-3-319-15317-9 (tryckt)OAI: oai:DiVA.org:kth-128950DiVA, id: diva2:649033
Konferens
11th International Symposium on Formal Aspects of Component Software, FACS 2014, Bertinoro, Italy, 10 September 2014 through 12 September 2014
Anmärkning

QC 20150504. Updated from manuscript to conference paper.

Tillgänglig från: 2013-09-17 Skapad: 2013-09-17 Senast uppdaterad: 2024-03-18Bibliografiskt granskad
Ingår i avhandling
1. Algorithmic Verification of Procedural Programs in the Presence of Code Variability
Öppna denna publikation i ny flik eller fönster >>Algorithmic Verification of Procedural Programs in the Presence of Code Variability
2014 (Engelska)Doktorsavhandling, sammanläggning (Övrigt vetenskapligt)
Abstract [en]

This thesis addresses the formal verification of temporal properties of procedural programs that are dynamically or statically configured by replacing, adapting, or adding new components. Dealing with such variable programs is challenging because a part of the program is either not available at verification time or changes frequently. Still, such static and dynamic variability is used in a variety of modern software systems and design paradigms, e.g., software product lines. In this thesis, we develop a generic framework and a fully automated tool support for the verification of such programs. We also show that our technique can be used for efficient verification of existing sets of products constructed from product lines. Our framework is built on top of a previously developed framework for compositional verification of control-flow safety properties of procedural programs that abstracts away all program data. The work in this study is presented through three papers.

The first paper introduces ProMoVer, a fully automated tool for procedure modular verification of control-flow temporal safety properties. Procedure modular verification is a natural instantiation of compositional verification at the procedure level. ProMoVer is described and evaluated on several real-life case studies. It is equipped with a number of features, such as automatic specification extraction and the support for several specification formalisms, to facilitate easy usage. Moreover, it provides a proof storage and reuse mechanism to minimize the need for the computationally expensive verification subtasks.

The second paper discusses the verification of software product lines (SPL). In SPL engineering, products are generated from a set of well-defined commonalities and variabilities. The products of an SPL can be described by means of hierarchical variability models specifying the commonalities and variabilities between the individual products. The number of products generated from a hierarchical model is exponential in the size of the model. Therefore, scalable verification of SPLs is only possible if compositional techniques are applied that allow reusing of the intermediate verification results. In this thesis, we propose a hierarchical variability model for modeling product families, provide a process for extracting such models from existing products, and adapt our compositional verification principle and tool support for the verification of SPLs modeled by this hierarchical model.

The third paper presents a generalization of the original framework to capture program data, still keeping its complexity within practical limits. Thus, it brings the capabilities of the framework to a whole new level. To exemplify its use, we instantiate our framework for compositional verification at three levels of data abstraction of real-life programs: full data abstraction, Boolean data as the only datatype, and heap pointers as the only datatype. We also adapt our toolset to provide support for compositional verification of the latter and evaluate the tool on a real-life case study.

Ort, förlag, år, upplaga, sidor
Stockholm: KTH Royal Institute of Technology, 2014. s. vii, 67
Serie
TRITA-CSC-A, ISSN 1653-5723 ; 2014:11
Nationell ämneskategori
Datavetenskap (datalogi)
Identifikatorer
urn:nbn:se:kth:diva-149735 (URN)978-91-7595-211-6 (ISBN)
Disputation
2014-09-19, F3, Lindstedtsvägen 26 Kungl Tekniska högskolan, Stockholm, 14:00 (Engelska)
Opponent
Handledare
Anmärkning

QC 20140828

Tillgänglig från: 2014-08-28 Skapad: 2014-08-26 Senast uppdaterad: 2022-06-23Bibliografiskt granskad

Open Access i DiVA

fulltext(930 kB)552 nedladdningar
Filinformation
Filnamn FULLTEXT07.pdfFilstorlek 930 kBChecksumma SHA-512
ca3918baeebc43d3279c4d0cf60de4a0f76a8773f59ce62991f4cddd00b1f93858ed8c008af9b73e54e4ab296fed4d193184aefb6874f42a64a94453f399e7ab
Typ fulltextMimetyp application/pdf

Övriga länkar

Förlagets fulltextScopus

Person

Soleimanifard, SiavashGurov, Dilian

Sök vidare i DiVA

Av författaren/redaktören
Soleimanifard, SiavashGurov, Dilian
Av organisationen
Teoretisk datalogi, TCS
Datavetenskap (datalogi)

Sök vidare utanför DiVA

GoogleGoogle Scholar
Totalt: 651 nedladdningar
Antalet nedladdningar är summan av nedladdningar för alla fulltexter. Det kan inkludera t.ex tidigare versioner som nu inte längre är tillgängliga.

doi
isbn
urn-nbn

Altmetricpoäng

doi
isbn
urn-nbn
Totalt: 665 träffar
RefereraExporteraLänk till posten
Permanent länk

Direktlänk
Referera
Referensformat
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annat format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annat språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf