skip to main content
10.1145/1554339.1554350acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
research-article

An implementation and semantics for transactional memory introspection in Haskell

Published: 15 June 2009 Publication History

Abstract

Transactional Memory Introspection (TMI) is a novel reference monitor architecture that provides complete mediation, freedom from time of check to time of use bugs and improved failure handling for authorization. TMI builds on and integrates with implementations of the Software Transactional Memory (STM) architecture [Harris and Fraser 2003]. In this paper we present a formal definition of TMI and a concrete implementation over the Haskell STM. We find that this specification and reference implementation establishes clear semantics for the TMI architecture. In particular, they help identify and resolve ambiguities that apply to implementations such in our prior work [Birgisson et al. 2008].

References

[1]
M. Abadi and C. Fournet. Access control based on execution history. In Networked and Distributed System Security Symposium, 2003.
[2]
Arnar Birgisson, Mohan Dhawan, Úlfar Erlingsson, Vinod Ganapathy, and Liviu Iftode. Security enforcement using software transactional memory. In ACM Conference on Computer and Communications Security, October 2008.
[3]
Cédric Fournet and Andrew D. Gordon. Stack inspection: Theory and variants. ACM Trans. Program. Lang. Syst., 25(3):360--399, 2003. ISSN 0164--0925.
[4]
Tim Harris and Keir Fraser. Language support for lightweight transactions. SIGPLAN Not., 38(11):388--402, 2003.
[5]
Tim Harris, Simon Marlow, Simon Peyton Jones, and Maurice Herlihy. Composable memory transactions. In ACM Conference on Principles and Practice of Parallel Programming, 2005.
[6]
Maurice Herlihy and J. Eliot B. Moss. Transactional support for lock free data structures. In 20th International Symposium on Computer Architecture, June 1993.
[7]
Maurice Herlihy, Victor Luchango, and Mark Moir. A flexible framework for implementing software transactional memory. In ACM SIGPLAN OOPSLA, Oct 2006.
[8]
Simon Peyton Jones. Tackling the awkward squad: monadic input/output, concurrency, exceptions, and foreign-language calls in haskell. In M. Broy C. Hoare and R. Steinbrueggen, editors, Engineering theories of software construction, Marktoberdorf Summer School 2000, pages 47--96. NATO ASI Series, IOS Press, 2001.
[9]
Simon Peyton Jones and Satnam Singh. A tutorial on parallel and concurrent programming in haskell. May 2008.
[10]
Simon Peyton Jones and Philip Wadler. Imperative functional programming. In 20th ACM Symposium on Principles of Programming Languages (POPL'93), pages 71--84, 1993.
[11]
Simon Peyton Jones, Andrew Gordon, and Sigbjorn Finne. Concurrent haskell. In 23rd ACM Symposium on Principles of Programming Languages (POPL'96), pages 295--308, 1996.
[12]
Gordon Plotkin. A structural approach to operational semantics. Journal of Logic and Algebraic Programming, 60--61:17--139, 2004.
[13]
W. Weimer and G. C. Necula. Exceptional situations and program reliability. ACM Transactions on Programming Languages and Systems, 30(2), Mar 2008.

Cited By

View all
  • (2019)Mimosa: Protecting Private Keys against Memory Disclosure Attacks using Hardware Transactional MemoryIEEE Transactions on Dependable and Secure Computing10.1109/TDSC.2019.2897666(1-1)Online publication date: 2019
  • (2015)Protecting Private Keys against Memory Disclosure Attacks Using Hardware Transactional MemoryProceedings of the 2015 IEEE Symposium on Security and Privacy10.1109/SP.2015.8(3-19)Online publication date: 17-May-2015
  • (2012)Security correctness for secure nested transactionsProceedings of the 7th Workshop on Programming Languages and Analysis for Security10.1145/2336717.2336721(1-6)Online publication date: 15-Jun-2012
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PLAS '09: Proceedings of the ACM SIGPLAN Fourth Workshop on Programming Languages and Analysis for Security
June 2009
130 pages
ISBN:9781605586458
DOI:10.1145/1554339
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 June 2009

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. reference monitors
  2. transactional memory

Qualifiers

  • Research-article

Funding Sources

  • 'New Developments in Operational Semantics' of The Icelandic Research Fund

Conference

PLDI '09
Sponsor:

Acceptance Rates

PLAS '09 Paper Acceptance Rate 8 of 19 submissions, 42%;
Overall Acceptance Rate 43 of 77 submissions, 56%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2019)Mimosa: Protecting Private Keys against Memory Disclosure Attacks using Hardware Transactional MemoryIEEE Transactions on Dependable and Secure Computing10.1109/TDSC.2019.2897666(1-1)Online publication date: 2019
  • (2015)Protecting Private Keys against Memory Disclosure Attacks Using Hardware Transactional MemoryProceedings of the 2015 IEEE Symposium on Security and Privacy10.1109/SP.2015.8(3-19)Online publication date: 17-May-2015
  • (2012)Security correctness for secure nested transactionsProceedings of the 7th Workshop on Programming Languages and Analysis for Security10.1145/2336717.2336721(1-6)Online publication date: 15-Jun-2012
  • (2011)Transactional correctness for secure nested transactionsProceedings of the 6th international conference on Trustworthy Global Computing10.1007/978-3-642-30065-3_11(179-196)Online publication date: 9-Jun-2011

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media