Browse > Article

Kernel-level Software instrumentation via Light-weight Dynamic Binary Translation  

Lee, Dong-Woo (성균관대학교 휴대폰학과)
Kim, Jee-Hong (성균관대학교 휴대폰학과)
Eom, Young-Ik (성균관대학교 정보통신공학부)
Publication Information
Journal of Internet Computing and Services / v.12, no.5, 2011 , pp. 63-72 More about this Journal
Abstract
Binary translation is a kind of the emulation method which converts a binary code compiled on the particular instruction set architecture to the new binary code that can be run on another one. It has been mostly used for migrating legacy systems to new architecture. In recent, binary translation is used for instrumenting programs without modifying source code, because it enables inserting additional codes dynamically, For general application, there already exists some instrumentation software using binary translation, such as dynamic binary analyzers and virtual machine monitors. On the other hand, in order to be benefited from binary translation in kernel-level, a few issues, which include system performance, memory management, privileged instructions, and synchronization, should be treated. These matters are derived from the structure of the kernel, and the difference between the kernel and user-level application. In this paper, we present a scheme to apply binary translation and dynamic instrumentation on kernel. We implement it on Linux kernel and demonstrate that kernel-level binary translation adds an insignificant overhead to performance of the system.
Keywords
Binary Translation; Instrumentation;
Citations & Related Records
Times Cited By KSCI : 1  (Citation Analysis)
연도 인용수 순위
1 B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, I. Pratt, A. Warfield, P. Barham, and R. Neugebauer, "Xen and the Art of Virtualization," In Proc. Of the ACM Symp. on Operating System Principles Oct. 2003
2 D. Bruening, T. Garnett, and S. Amarasinghe. "An infrastructure for adaptive dynamic optimization." In Proc. Of Intl. Symp. on Code Generation and Optimization, pp.265-276, Mar. 2003.
3 P. P. Bungale, S. Sridhar, and J. S. Shapiro, "Supervisor-Mode Virtualization for x86 in VDebug," Tech. Rep. SRL2004-01, Johns Hopkins University Systems Research Laboratory, May 2004.
4 P. Feiner, A. D. Brown, and A. Goel, "Transparent Fault Isolation using Dynamic Compilation," Poster at 15th Int. Conf. on Architectural Support for Programming Languages and Operating Systems, Mar. 2010.
5 S. Sridhar, J. S. Shapiro and P. P. Bungale, 'HDTrans: an open source, low-level dynamic 계측 system," In Proc. of 2006 Int. Conf. on Virtual Execution Environments (VEE), pp.175-185, Ottawa, Ontario, Canada, Jun. 2006.
6 S. Sridhar, J. S. Shapiro, P. P. Bungale, "HDTrans: a low-overhead dynamic translator," ACM Computer Architecture News, vol.35, no.1, pp.135-140, Mar. 2007.   DOI   ScienceOn
7 CK. Luk, R. Cohn, R. Muth, H. Patil, A. Klauser, G. Lowney, S. Wallace, VJ. Reddi and K. Hazzelwood, "Pin: building customized program analysis tools with dynamic 계측," in Proc. of the 2005 ACM SIGPLAN PLDI conf., pp.190-200, 2007.
8 V. Bala, E. Duesterwald and S. Banerjia, "Dynamo: a transparent dynamic optimization system," ACM SIGPLAN Not., Vol. 35, no. 5, pp.1-12, 2000.   DOI
9 M. Probst, "Fast Machine-Adaptable Dynamic binary Translation," ACM SIGPLAN Not., Vol. 35, no. 7, pp.41-51   DOI
10 O. Agesen, A. Garthwaite, J. Sheldon and P. Subrahmanyam, "The Evolution of an x86 Virtual Machine Monitor," ACM SIGOPS Operating Systems Review, Vol. 44, no. 4, pp.3-18, Dec. 2010.   DOI   ScienceOn
11 M. Probst, "Dynamic Binary Translation," In Proc. Of the UKUUG Linux Developers' Conf., Jul. 2002.
12 N. Nethercote and J. Seward, "Valgrind: A Program Supervision Framework," Electronic Notes in Theoretical Computer Science, Vol. 89, no.2, pp.44-66, 2003.   DOI   ScienceOn
13 N. Nethercote and J. Seward, "Valgrind: a framework for heavyweight dynamic binary instrumentation," in Proc. Of the 2007 PLDI Conf., Vol. 42, pp.89-100, 2007.
14 김지홍, 김인혁, 엄영익, "Indirection 기법을 이용한 경량 동적 코드 변환 기법,", 정보과학회논문지 : 컴퓨팅의 실제 및 레터 Vol. 17, no. 3, pp.170-174, 2011. 03.
15 Z. Cai, A. Liang, Z. Qi, L. Jiang, X, Li, H, Guan and Y. Chen, "Performance Comparison of Register Allocation Algorithms in Dynamic Binary Translation," In Proc. Of Int. Conf. on Knowledge and Systems Engineering, pp.113-119, 2009.
16 F. Bellard, "QEMU, a fast and portable dynamic translator," In Proc. Of the 3rd Ann. Haifa Experimental Systems Conf., pp.24-26, May 2010