Dissertation/ Thesis

Runtime verification for API based software

Λεπτομέρειες βιβλιογραφικής εγγραφής
Τίτλος: Runtime verification for API based software
Συγγραφείς: Bartolo Burlo`, Christian (2020)
Στοιχεία εκδότη: University of Malta
Faculty of Information and Communication Technology. Department of Computer Science
Έτος έκδοσης: 2020
Συλλογή: University of Malta: OAR@UM / L-Università ta' Malta
Θεματικοί όροι: Application program interfaces (Computer software), Computer software -- Verification, Computer software -- Testing, Formal methods (Computer science)
Περιγραφή: M.SC.COMPUTER SCIENCE ; The modern world is increasingly dependent on communication-centred and distributed software systems. Application Programming Interfaces (APIs) are what enable these systems to interact and share information with one another. The correctness of their interaction is of utmost importance since the consequences of failure can be quite severe. Behavioural types offer a promising approach to address this matter by enabling the description of correct interactions which systems are then verified against. This work investigates the design and implementation of a hybrid (static and dynamic) approach for the verification of these types. In particular, we address those scenarios with two communicating components where one is available prior-deployment and the other must be treated as a black box. We propose an approach in which the available component is statically checked whereas the black box component is verified dynamically at runtime (i.e., during execution) via a monitor. At the centre of our approach is a synthesis algorithm which generates monitor descriptions from a behavioural type. We show that these generated monitors are themselves correct, and that they only flag an erroneous action when the monitored component indeed commits one. This is crucial since the monitors can negatively affect the behaviour of the other components if they are not correct. To validate the implementability of this approach, we present a tool in Scala as a case study. We show that the executable code closely follows the theory, which suggests that the notion of correctness established in the theory carries over into the implementation. Furthermore, the proposed theory and implementability aspects of our approach are not limited to this technology but can be applied to those cases where static analysis of session types is possible and the dynamic verification of the interaction of a component is required. ; N/A
Τύπος εγγράφου: master thesis
Γλώσσα: English
Relation: Bartolo Burlo`, C. (2020). Runtime verification for API based software (Master's dissertation).; https://www.um.edu.mt/library/oar/handle/123456789/83645
Διαθεσιμότητα: https://www.um.edu.mt/library/oar/handle/123456789/83645
Rights: info:eu-repo/semantics/restrictedAccess ; The copyright of this work belongs to the author(s)/publisher. The rights of this work are as defined by the appropriate Copyright Legislation or as modified by any successive legislation. Users may access this work and can make use of the information contained in accordance with the Copyright Legislation provided that the author must be properly acknowledged. Further distribution or reproduction in any format is prohibited without the prior permission of the copyright holder.
Αριθμός Καταχώρησης: edsbas.A0BD6253
Βάση Δεδομένων: BASE
FullText Text:
  Availability: 0
CustomLinks:
  – Url: https://www.um.edu.mt/library/oar/handle/123456789/83645#
    Name: EDS - BASE (ns324271)
    Category: fullText
    Text: View record from BASE
Header DbId: edsbas
DbLabel: BASE
An: edsbas.A0BD6253
RelevancyScore: 746
AccessLevel: 3
PubType: Dissertation/ Thesis
PubTypeId: dissertation
PreciseRelevancyScore: 745.994262695313
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Runtime verification for API based software
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Bartolo+Burlo%27%2C+Christian+%282020%29%22">Bartolo Burlo`, Christian (2020)</searchLink>
– Name: Publisher
  Label: Publisher Information
  Group: PubInfo
  Data: University of Malta<br />Faculty of Information and Communication Technology. Department of Computer Science
– Name: DatePubCY
  Label: Publication Year
  Group: Date
  Data: 2020
– Name: Subset
  Label: Collection
  Group: HoldingsInfo
  Data: University of Malta: OAR@UM / L-Università ta' Malta
– Name: Subject
  Label: Subject Terms
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Application+program+interfaces+%28Computer+software%29%22">Application program interfaces (Computer software)</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+software+--+Verification%22">Computer software -- Verification</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+software+--+Testing%22">Computer software -- Testing</searchLink><br /><searchLink fieldCode="DE" term="%22Formal+methods+%28Computer+science%29%22">Formal methods (Computer science)</searchLink>
– Name: Abstract
  Label: Description
  Group: Ab
  Data: M.SC.COMPUTER SCIENCE ; The modern world is increasingly dependent on communication-centred and distributed software systems. Application Programming Interfaces (APIs) are what enable these systems to interact and share information with one another. The correctness of their interaction is of utmost importance since the consequences of failure can be quite severe. Behavioural types offer a promising approach to address this matter by enabling the description of correct interactions which systems are then verified against. This work investigates the design and implementation of a hybrid (static and dynamic) approach for the verification of these types. In particular, we address those scenarios with two communicating components where one is available prior-deployment and the other must be treated as a black box. We propose an approach in which the available component is statically checked whereas the black box component is verified dynamically at runtime (i.e., during execution) via a monitor. At the centre of our approach is a synthesis algorithm which generates monitor descriptions from a behavioural type. We show that these generated monitors are themselves correct, and that they only flag an erroneous action when the monitored component indeed commits one. This is crucial since the monitors can negatively affect the behaviour of the other components if they are not correct. To validate the implementability of this approach, we present a tool in Scala as a case study. We show that the executable code closely follows the theory, which suggests that the notion of correctness established in the theory carries over into the implementation. Furthermore, the proposed theory and implementability aspects of our approach are not limited to this technology but can be applied to those cases where static analysis of session types is possible and the dynamic verification of the interaction of a component is required. ; N/A
– Name: TypeDocument
  Label: Document Type
  Group: TypDoc
  Data: master thesis
– Name: Language
  Label: Language
  Group: Lang
  Data: English
– Name: NoteTitleSource
  Label: Relation
  Group: SrcInfo
  Data: Bartolo Burlo`, C. (2020). Runtime verification for API based software (Master's dissertation).; https://www.um.edu.mt/library/oar/handle/123456789/83645
– Name: URL
  Label: Availability
  Group: URL
  Data: https://www.um.edu.mt/library/oar/handle/123456789/83645
– Name: Copyright
  Label: Rights
  Group: Cpyrght
  Data: info:eu-repo/semantics/restrictedAccess ; The copyright of this work belongs to the author(s)/publisher. The rights of this work are as defined by the appropriate Copyright Legislation or as modified by any successive legislation. Users may access this work and can make use of the information contained in accordance with the Copyright Legislation provided that the author must be properly acknowledged. Further distribution or reproduction in any format is prohibited without the prior permission of the copyright holder.
– Name: AN
  Label: Accession Number
  Group: ID
  Data: edsbas.A0BD6253
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.A0BD6253
RecordInfo BibRecord:
  BibEntity:
    Languages:
      – Text: English
    Subjects:
      – SubjectFull: Application program interfaces (Computer software)
        Type: general
      – SubjectFull: Computer software -- Verification
        Type: general
      – SubjectFull: Computer software -- Testing
        Type: general
      – SubjectFull: Formal methods (Computer science)
        Type: general
    Titles:
      – TitleFull: Runtime verification for API based software
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Bartolo Burlo`, Christian (2020)
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 01
              Type: published
              Y: 2020
          Identifiers:
            – Type: issn-locals
              Value: edsbas
ResultId 1