Abstract Valgrind is a proven opensource instrumentation framework Mainly known by its memory profiler Valgrind executes applications in virtual CPU and memory dynamically disassembling target code into intermediate representation (IR) and converting into native code (JIT). This Dynamic Binary Instrumentation (DBI) is useful for users in that no recompilation of target is needed. However, implementing that idea is difficult and code becomes complex. My talk will examine Valgrind's internal especially around platform dependent code, like system call wrapper, memory management, and signal handling. We also mention things that are needed to port Valgrind to a new platform/cpu, for example, how to debug and test Valgrind itself, and source code structure, etc. Speaker bio Masao Uebayashi is a the founder of Tombi Inc., a small company based in Yokohama, Japan, where he concentrates on *BSD only development consultation. In the past he worked for Brains Corp., who first ported NetBSD to Renesas SuperH platform, and later IIJ, where he brought up NetBSD on OCTEON MIPS64 processor. After having done PowerPC, SuperH, MIPS, and ARM in the last 15 years, he has finally started learning x86.