This paper presents an experiment of using a formal technique for static program analysis, based on abstract interpretation, in the context of persistent programming languages. The aim of the analysis is detecting opportunities of safe parallelism for transaction operations scheduling. Transaction operations can be safely interleaved when there is no overlapping among their readsets and writesets. A non-standard interpreter performs the analysis. Such an interpreter, given the text of the transaction and a representation of the data stored in the database, automatically derives in a finite time an approximation of the readset and writeset of the analysed transaction. Information obtained from the non-standard interpretation are provided to the scheduler before beginning the execution of transaction operations. In this way, we obtain a scheduler that implements a conservative two-phase locking protocol for persistent programming language transactions. We apply the analysis to a language that is a significant subset of Galileo. It is worth noting that the goal of the analysis is to count the accesses solely to shareable and modifiable persistent data structures.

Data sharing analysis for a database programming language via abstract interpretation

Giuseppe Amato;Fosca Giannotti;Giovanni Mainetto
1993

Abstract

This paper presents an experiment of using a formal technique for static program analysis, based on abstract interpretation, in the context of persistent programming languages. The aim of the analysis is detecting opportunities of safe parallelism for transaction operations scheduling. Transaction operations can be safely interleaved when there is no overlapping among their readsets and writesets. A non-standard interpreter performs the analysis. Such an interpreter, given the text of the transaction and a representation of the data stored in the database, automatically derives in a finite time an approximation of the readset and writeset of the analysed transaction. Information obtained from the non-standard interpretation are provided to the scheduler before beginning the execution of transaction operations. In this way, we obtain a scheduler that implements a conservative two-phase locking protocol for persistent programming language transactions. We apply the analysis to a language that is a significant subset of Galileo. It is worth noting that the goal of the analysis is to count the accesses solely to shareable and modifiable persistent data structures.
1993
Istituto di Scienza e Tecnologie dell'Informazione "Alessandro Faedo" - ISTI
Inglese
In 19th International Conference on Very Large Data Base
405
415
11
1-55860-152-X
http://www.vldb.org/conf/1993/P405.PDF
MORGAN KAUFMANN
Palo Alto
STATI UNITI D'AMERICA
Sì, ma tipo non specificato
24-27 August 1993
Dublin, Ireland
3
restricted
Amato, Giuseppe; Giannotti, Fosca; Mainetto, Giovanni
273
info:eu-repo/semantics/conferenceObject
04 Contributo in convegno::04.01 Contributo in Atti di convegno
File in questo prodotto:
File Dimensione Formato  
prod_217829-doc_50964.pdf

solo utenti autorizzati

Descrizione: Data sharing analysis for a database programmning language via abstract interpretation
Tipologia: Versione Editoriale (PDF)
Dimensione 1.05 MB
Formato Adobe PDF
1.05 MB Adobe PDF   Visualizza/Apri   Richiedi una copia

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.14243/3492
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact