DocumentCode :
679790
Title :
VG-MIPS: A dynamic binary instrumentation framework for multi-core MIPS processors
Author :
Anwar, Zeeshan ; Sharf, Marya ; Khan, Eraj ; Mustafa, M.
Author_Institution :
Nat. Univ. of Sci. & Technol. (NUST), Islamabad, Pakistan
fYear :
2013
fDate :
19-20 Dec. 2013
Firstpage :
166
Lastpage :
171
Abstract :
Valgrind is a Dynamic Binary Analysis tool used for debugging and profiling purposes. It´s mostly used to analyze the memory usage of software applications. Currently it supports the ×86, AMD, ARM, PPC and S390X architectures. Recently it has been ported to MIPS/Linux. This paper describes VG-MIPS a port of Valgrind to Cavium Networks®´s Octeon Processor for intelligent networking which hosts a MIPS64 ISA. The Octeon processor has a large number of specialized MIPS instructions used for optimizing the network and security processing features of its Internet applications. This paper discusses how we added support for n32 MIPS dialect and Octeon-MIPS specific instructions. In the process we made modifications to the Valgrind codebase such as support for new system call wrapping and the ability to automatically detect the ABI dialect from the client program ELF at runtime. Our port has been contributed to the open-source Valgrind developer community and has been successfully incorporated in the code base. We have evaluated VG-MIPS on the multi-core MIPS64 processor: Octeon® and verified its profiling accuracy. We hope that our experiences and key design decisions shared in this paper will help future developers in writing DBI frameworks for new architectures.
Keywords :
multiprocessing systems; program debugging; public domain software; reduced instruction set computing; security of data; ×86 architecture; ABI dialect detection; AMD architecture; ARM architecture; Cavium Networks; DBI frameworks; Internet applications; MIPS instructions; MIPS/Linux; MIPS64 ISA; Octeon processor; Octeon-MIPS specific instructions; PPC architecture; RISC architecture; S390X architecture; VG-MIPS; Valgrind codebase; client program ELF; code base; debugging purpose; dynamic binary analysis tool; dynamic binary instrumentation framework; intelligent networking; memory usage analysis; multicore MIPS processors; multicore MIPS64 processor; n32 MIPS dialect instructions; network optimisation; open-source Valgrind developer community; profiling accuracy; profiling purpose; security processing features; software applications; system call wrapping; Computer architecture; Ground penetrating radar; Instruments; Kernel; Linux; Program processors; Registers; Dynamic Binary Instrumentation; MIPS; Operating System; Profiling; Programming debugging;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Multi Topic Conference (INMIC), 2013 16th International
Conference_Location :
Lahore
Type :
conf
DOI :
10.1109/INMIC.2013.6731344
Filename :
6731344
Link To Document :
بازگشت