Deutsch
 
Hilfe Datenschutzhinweis Impressum
  DetailsucheBrowse

Datensatz

DATENSATZ AKTIONENEXPORT

Freigegeben

Forschungspapier

A Notion of Dynamic Interface for Depth-Bounded Object-Oriented Packages

MPG-Autoren
/persons/resource/persons180295

Esmaeilsabzal,  Shahram
Group R. Majumdar, Max Planck Institute for Software Systems, Max Planck Society;

/persons/resource/persons144534

Majumdar,  Rupak
Group R. Majumdar, Max Planck Institute for Software Systems, Max Planck Society;

Externe Ressourcen
Es sind keine externen Ressourcen hinterlegt
Volltexte (beschränkter Zugriff)
Für Ihren IP-Bereich sind aktuell keine Volltexte freigegeben.
Volltexte (frei zugänglich)

arXiv:1311.4615.pdf
(Preprint), 254KB

Ergänzendes Material (frei zugänglich)
Es sind keine frei zugänglichen Ergänzenden Materialien verfügbar
Zitation

Esmaeilsabzal, S., Majumdar, R., Wies, T., & Zufferey, D. (2013). A Notion of Dynamic Interface for Depth-Bounded Object-Oriented Packages. Retrieved from http://arxiv.org/abs/1311.4615.


Zitierlink: https://hdl.handle.net/11858/00-001M-0000-0028-110E-5
Zusammenfassung
Programmers using software components have to follow protocols that specify when it is legal to call particular methods with particular arguments. For example, one cannot use an iterator over a set once the set has been changed directly or through another iterator. We formalize the notion of dynamic package interfaces (DPI), which generalize state-machine interfaces for single objects, and give an algorithm to statically compute a sound abstraction of a DPI. States of a DPI represent (unbounded) sets of heap configurations and edges represent the effects of method calls on the heap. We introduce a novel heap abstract domain based on depth-bounded systems to deal with potentially unboundedly many objects and the references among them. We have implemented our algorithm and show that it is effective in computing representations of common patterns of package usage, such as relationships between viewer and label, container and iterator, and JDBC statements and cursors.