Efficient ¡Tracing ¡of ¡Cold ¡Code ¡via ¡ Bias-‑Free ¡Sampling ¡
Baris ¡Kasikci+, ¡Thomas ¡Ball*, ¡ ¡ George ¡Candea+, ¡John ¡Erickson*, ¡ Madanlal ¡Musuvathi* ¡
*MicrosoD ¡ ¡
Research ¡
+
Efficient Tracing of Cold Code via Bias-Free Sampling - - PowerPoint PPT Presentation
Efficient Tracing of Cold Code via Bias-Free Sampling Baris Kasikci + , Thomas Ball * , George Candea + , John Erickson * , Madanlal Musuvathi * * MicrosoD
*MicrosoD ¡ ¡
+
Breakpoint ¡ PC ¡
PC ¡
Applica'on ¡ Count ¡(K) ¡ Distribu'on ¡(P) ¡ Rate ¡(R) ¡ Coverage ¡ 1 ¡ First ¡instrucNon ¡in ¡the ¡ block ¡ 0 ¡ Full ¡tracing ¡
¡
First ¡instrucNon ¡in ¡the ¡ block ¡
¡ Memory ¡leak ¡detector ¡ 1 ¡to ¡∞ ¡
Only ¡memory ¡operaNons ¡ 0 ¡to ¡∞ ¡
Data ¡race ¡detector ¡
1 ¡to ¡∞ ¡
¡
Only ¡memory ¡accesses ¡ that ¡cannot ¡be ¡proven ¡ as ¡data ¡race ¡free ¡ 0 ¡to ¡∞ ¡
BfS ¡Framework ¡ Program ¡ Debugger ¡
BfS ¡breakpoint ¡ Regular ¡breakpoint ¡
Inst ¡2 ¡ Inst ¡1 ¡
Sampled ¡instrucNon ¡ ¡ with ¡breakpoint ¡
Jmp ¡to ¡ Inst ¡2 ¡ Inst ¡1 ¡
Resumed ¡instrucNon ¡copy ¡ In ¡thread-‑local ¡buffer ¡
Set ¡PC ¡ ¡ to ¡copy ¡ Jmp ¡to ¡return ¡to ¡ ¡ the ¡instruc'on ¡a=er ¡ ¡ the ¡sampled ¡one ¡
0 ¡ 50 ¡ 100 ¡ 150 ¡ 200 ¡ 250 ¡ 300 ¡ 0 ¡ 50 ¡ 100 ¡ 150 ¡ 200 ¡
bbcover ¡ BfS ¡
Coverage ¡Measurement ¡ ¡ RunNme ¡[sec] ¡ RunNme ¡with ¡no ¡coverage ¡ ¡ measurement ¡[sec] ¡
No ¡
0 ¡ 200 ¡ 400 ¡ 600 ¡ 800 ¡ 1000 ¡ 1200 ¡ 1400 ¡ 1600 ¡ 1800 ¡ 0 ¡ 500 ¡ 1000 ¡ 1500 ¡ 2000 ¡ 2500 ¡ 3000 ¡ 3500 ¡ 4000 ¡ 4500 ¡
freeing ¡
tacNcs ¡
Index ¡in ¡event ¡log ¡ FuncNon ¡id ¡