Deutsch
 
Hilfe Datenschutzhinweis Impressum
  DetailsucheBrowse

Datensatz

DATENSATZ AKTIONENEXPORT
  Dynamic Package Interfaces - Extended Version

Esmaeilsabzal, S., Majumdar, R., Wies, T., & Zufferey, D. (2013). Dynamic Package Interfaces - Extended Version. Retrieved from http://arxiv.org/abs/1311.4934.

Item is

Dateien

einblenden: Dateien
ausblenden: Dateien
:
arXiv:1311.4934.pdf (Preprint), 277KB
Name:
arXiv:1311.4934.pdf
Beschreibung:
File downloaded from arXiv at 2015-07-24 10:44
OA-Status:
Sichtbarkeit:
Öffentlich
MIME-Typ / Prüfsumme:
application/pdf / [MD5]
Technische Metadaten:
Copyright Datum:
-
Copyright Info:
-

Externe Referenzen

einblenden:

Urheber

einblenden:
ausblenden:
 Urheber:
Esmaeilsabzal, Shahram1, Autor           
Majumdar, Rupak1, Autor           
Wies, Thomas2, Autor
Zufferey, Damien2, Autor
Affiliations:
1Group R. Majumdar, Max Planck Institute for Software Systems, Max Planck Society, ou_2105292              
2External Organizations, ou_persistent22              

Inhalt

einblenden:
ausblenden:
Schlagwörter: Computer Science, Software Engineering, cs.SE
 Zusammenfassung: A hallmark of object-oriented programming is the ability to perform computation through a set of interacting objects. A common manifestation of this style is the notion of a package, which groups a set of commonly used classes together. A challenge in using a package is to ensure that a client follows the implicit protocol of the package when calling its methods. Violations of the protocol can cause a runtime error or latent invariant violations. These protocols can extend across different, potentially unboundedly many, objects, and are specified informally in the documentation. As a result, ensuring that a client does not violate the protocol is hard. We introduce dynamic package interfaces (DPI), a formalism to explicitly capture the protocol of a package. The DPI of a package is a finite set of rules that together specify how any set of interacting objects of the package can evolve through method calls and under what conditions an error can happen. We have developed a dynamic tool that automatically computes an approximation of the DPI of a package, given a set of abstraction predicates. A key property of DPI is that the unbounded number of configurations of objects of a package are summarized finitely in an abstract domain. This uses the observation that many packages behave monotonically: the semantics of a method call over a configuration does not essentially change if more objects are added to the configuration. We have exploited monotonicity and have devised heuristics to obtain succinct yet general DPIs. We have used our tool to compute DPIs for several commonly used Java packages with complex protocols, such as JDBC, HashSet, and ArrayList.

Details

einblenden:
ausblenden:
Sprache(n): eng - English
 Datum: 2013-11-192014-01-182013
 Publikationsstatus: Online veröffentlicht
 Seiten: -
 Ort, Verlag, Ausgabe: -
 Inhaltsverzeichnis: -
 Art der Begutachtung: -
 Identifikatoren: arXiv: 1311.4934
URI: http://arxiv.org/abs/1311.4934
 Art des Abschluß: -

Veranstaltung

einblenden:

Entscheidung

einblenden:

Projektinformation

einblenden:

Quelle

einblenden: