Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1565824.1565832acmotherconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
research-article

Using program metadata to support SDT in object-oriented applications

Published: 06 July 2009 Publication History

Abstract

Software dynamic translation (SDT) is a powerful technology that enables software malleability and adaptivity at the instruction level by providing facilities for run-time monitoring and code modification. SDT has been used as the basis for many valuable tools, including dynamic optimizers, profilers, security policy enforcement, and binary translation to name a few. However, modern object-oriented programming techniques and their implementations (e.g., virtual functions, exceptions, dynamic code, etc.) pose unique challenges to high performing SDT systems. In this paper, we present Metaman, a generalized program metadata manager that stores and manages program information so that it can be efficiently accessed by emerging SDT systems to improve overall runtime performance of a managed executable. Using the information collected by Metaman, the run-time performance of an existing SDT system was improved by 22% making its execution speed only 3% slower than native (i.e., non-managed) execution.

References

[1]
M. Arnold, S. Fink, D. Grove, M. Hind, and P. F. Sweeney. Adaptive optimization in the Jalapeño JVM. In OOPSLA '00: Proceedings of the 15th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 47--65, New York, NY, USA, 2000. ACM Press.
[2]
V. Bala, E. Duesterwald, and S. Banerjia. Dynamo: a transparent dynamic optimization system. In PLDI '00: Proceedings of the ACM SIGPLAN 2000 Conference on Programming Language Design and Implementation, pages 1--12, New York, NY, USA, 2000. ACM Press.
[3]
D. Bruening. Efficient, Transparent, and Comprehensive Runtime Code Manipulation. PhD thesis, Massachusetts Institute of Technology, 2004.
[4]
K. Ebcioglu and E. R. Altman. Daisy: dynamic compilation for 100% architectural compatibility. In ISCA '97: Proceedings of the 24th annual International Symposium on Computer Architecture, 1997.
[5]
J. L. Henning. SPEC CPU2006 benchmark descriptions. SIGARCH Comput. Archit. News, 34(4):1--17, 2006.
[6]
J. Hiser, D. Williams, A. Filipi, B. Childers, and J. Davidson. Evaluating fragment construction policies for SDT systems. In VEE'06: Second International Conference on Virtual Execution Environments, pages 122--131, New York, NY, USA, 2006. ACM Press.
[7]
J. D. Hiser, D. Williams, W. Hu, J. W. Davidson, J. Mars, and B. R. Childers. Evaluating indirect branch handling mechanisms in software dynamic translation systems. In CGO '07: Proceedings of the International Symposium on Code Generation and Optimization, pages 61--73, Washington, DC, USA, 2007. IEEE Computer Society.
[8]
W. Hu, J. Hiser, D. Williams, A. Filipi, J. W. Davidson, D. Evans, J. C. Knight, A. Nguyen-Tuong, and J. Rowanhill. Secure and practical defense against code-injection attacks using software dynamic translation. In VEE'06: Second International Conference on Virtual Execution Environments, pages 2--12, New York, NY, USA, 2006. ACM Press.
[9]
V. Kiriansky, D. Bruening, and S. P. Amarasinghe. Secure execution via program shepherding. In Proceedings of the 11th USENIX Security Symposium, pages 191--206, Berkeley, CA, USA, 2002. USENIX Association.
[10]
T. Kistler and M. Franz. Continuous program optimization: A case study. ACM Trans. Program. Lang. Syst., 25(4):500--548, 2003.
[11]
S. Knight. SCons design and implementation. In Tenth International Python Conference, 2002.
[12]
N. Kumar, J. Misurda, B. R. Childers, and M. L. Soffa. Instrumentation in software dynamic translators for self-managed systems. In WOSS '04: Proceedings of the 1st ACM SIGSOFT workshop on Self-managed systems, pages 90--94, New York, NY, USA, 2004. ACM Press.
[13]
C.-K. Luk, R. Cohn, R. Muth, H. Patil, A. Klauser, G. Lowney, S. Wallace, V. J. Reddi, and K. Hazelwood. Pin: building customized program analysis tools with dynamic instrumentation. In PLDI' 05: Proceedings of the 2005 ACM SIGPLAN conference on Programming Language Design and Implementation, 2005.
[14]
M. O. McCracken. The design and implementation of the lens program information framework. Technical report, UCSD CSE, 2006.
[15]
K. Scott and J. Davidson. Safe virtual execution using software dynamic translation. In Computer Security Applications Conference, 2002. Proceedings. 18th Annual, pages 209--218, 2002.
[16]
K. Scott, N. Kumar, B. R. Childers, J. W. Davidson, and M. L. Soffa. Overhead reduction techniques for software dynamic translation. In IPDPS Next Generation Software Program - NSFNGS - PI Workshop, 2004.
[17]
K. Scott, N. Kumar, S. Velusamy, B. Childers, J. W. Davidson, and M. L. Soffa. Retargetable and reconfigurable software dynamic translation. In CGO '03: Proceedings of the International Symposium on Code Generation and Optimization, 2003.
[18]
D. Soroker, M. Karasick, J. Barton, and D. Streeter. Extension mechanisms in montana. In ICCSSE '97: Proceedings of the 8th Israeli Conference on Computer-Based Systems and Software Engineering, page 119, Washington, DC, USA, 1997. IEEE Computer Society.
[19]
S. Sridhar, J. S. Shapiro, E. Northup, and P. P. Bungale. Hdtrans: an open source, low-level dynamic instrumentation system. In VEE '06: Proceedings of the 2nd international conference on Virtual execution environments, pages 175--185, New York, NY, USA, 2006. ACM.
[20]
C. Xu, J. Li, T. Bao, Y. Wang, and B. Huang. Metadata driven memory optimizations in dynamic binary translator. In VEE '07: Proceedings of the 3rd International Conference on Virtual Execution Environments, pages 148--157, New York, NY, USA, 2007. ACM.

Cited By

View all
  • (2022)START: A Framework for Trusted and Resilient Autonomous Vehicles (Practical Experience Report)2022 IEEE 33rd International Symposium on Software Reliability Engineering (ISSRE)10.1109/ISSRE55969.2022.00018(73-84)Online publication date: Oct-2022
  • (2018)Improving SIMD Parallelism via Dynamic Binary TranslationACM Transactions on Embedded Computing Systems10.1145/317345617:3(1-27)Online publication date: 12-Feb-2018
  • (2014)DTTProceedings of the 11th ACM Conference on Computing Frontiers10.1145/2597917.2597944(1-10)Online publication date: 20-May-2014
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ICOOOLPS '09: Proceedings of the 4th workshop on the Implementation, Compilation, Optimization of Object-Oriented Languages and Programming Systems
July 2009
73 pages
ISBN:9781605585413
DOI:10.1145/1565824
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]

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 06 July 2009

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. object-oriented systems
  2. performance
  3. software dynamic trasnlation

Qualifiers

  • Research-article

Conference

ECOOP '09

Acceptance Rates

Overall Acceptance Rate 11 of 14 submissions, 79%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2022)START: A Framework for Trusted and Resilient Autonomous Vehicles (Practical Experience Report)2022 IEEE 33rd International Symposium on Software Reliability Engineering (ISSRE)10.1109/ISSRE55969.2022.00018(73-84)Online publication date: Oct-2022
  • (2018)Improving SIMD Parallelism via Dynamic Binary TranslationACM Transactions on Embedded Computing Systems10.1145/317345617:3(1-27)Online publication date: 12-Feb-2018
  • (2014)DTTProceedings of the 11th ACM Conference on Computing Frontiers10.1145/2597917.2597944(1-10)Online publication date: 20-May-2014
  • (2009)MetamanProceedings of the Workshop on Binary Instrumentation and Applications10.1145/1791194.1791200(34-42)Online publication date: 12-Dec-2009

View Options

Get Access

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