Rico Angell, Ben Oztalay, and Andrew DeOrio University of - - PowerPoint PPT Presentation

rico angell ben oztalay and andrew deorio university of
SMART_READER_LITE
LIVE PREVIEW

Rico Angell, Ben Oztalay, and Andrew DeOrio University of - - PowerPoint PPT Presentation

Rico Angell, Ben Oztalay, and Andrew DeOrio University of Michigan X X X X X X X X X X X X X X X X X


slide-1
SLIDE 1

Rico ¡Angell, ¡Ben ¡Oztalay, ¡and ¡Andrew ¡DeOrio ¡ ¡ University ¡of ¡Michigan ¡

slide-2
SLIDE 2
slide-3
SLIDE 3

X ¡ X ¡ X ¡ X ¡ X ¡ X ¡ X ¡ X ¡ X ¡ X ¡ X ¡ X ¡ X ¡ X ¡ X ¡ X ¡ X ¡ X ¡ X ¡ X ¡ X ¡ X ¡ X ¡ X ¡

Post-­‑silicon ¡platform ¡ Many ¡failure ¡reports ¡ ¡ Goal: ¡debug ¡root ¡causes ¡

slide-4
SLIDE 4

X ¡

test ¡ failure ¡ reports ¡

SAME ROOT CAUSE

Wasted ¡ Effort ¡

X ¡

slide-5
SLIDE 5

¡ Goal: ¡Create ¡a ¡model ¡by ¡

learning ¡from ¡input ¡data ¡

¡ Supervised ¡requires ¡

labeled ¡training ¡data ¡to ¡ create ¡the ¡model ¡

¡ Unsupervised ¡creates ¡

model ¡from ¡unlabeled ¡ input ¡data ¡

Sports ¡ Politics ¡

Classification ¡of ¡News ¡Articles ¡

Markets ¡

slide-6
SLIDE 6

¡ Novel ¡approach ¡to ¡choosing ¡features ¡for ¡

clustering ¡failure ¡reports ¡

¡ New ¡metric, ¡Unique ¡Debugging ¡Instances ¡

(UDI), ¡for ¡measuring ¡verification ¡efficiency ¡ with ¡respect ¡to ¡triaging ¡failure ¡reports ¡ ¡

slide-7
SLIDE 7
slide-8
SLIDE 8

¡ How ¡do ¡we ¡describe ¡failure ¡reports ¡to ¡a ¡

Machine ¡Learning ¡algorithm? ¡à ¡Features ¡

¡ Use ¡ParMETIS ¡ ¡ Scalability ¡is ¡important ¡

¡

Partition ¡ ¡ Closely ¡ connected ¡ subset ¡of ¡ design ¡

slide-9
SLIDE 9

¡ Input: ¡k ¡and ¡set ¡of ¡points ¡ ¡ Output: ¡k ¡groups ¡of ¡points ¡ ¡ NMI: ¡metric ¡measuring ¡

mutual ¡dependence ¡ ¡

¡ NMI ¡of ¡0 ¡à ¡

¡ ¡

¡ NMI ¡of ¡1 ¡à ¡Perfect ¡

¡

Feature ¡Space ¡ Cluster ¡of ¡failure ¡ reports ¡sharing ¡ root ¡cause ¡bug ¡ Failure ¡ report ¡ All ¡failure ¡reports ¡

Entirely ¡ Imperfect ¡

slide-10
SLIDE 10

¡ Industrial-­‑size ¡OpenSPARC ¡T2 ¡ ¡ ¡ ¡ Bug ¡Injection: ¡ ¡ § Force ¡control ¡signal ¡to ¡1 ¡ § 50 ¡total ¡bugs, ¡evenly ¡spread ¡across ¡10 ¡modules ¡ ¡ Injected ¡a ¡bug ¡at ¡cycle ¡10,000 ¡ ¡ At ¡cycle ¡10,100, ¡record ¡the ¡control ¡signal ¡

values ¡from ¡10 ¡modules ¡

¡ 5000 ¡simulations ¡

slide-11
SLIDE 11

0.1 0.2 0.3 0.4 2 6 10 14 18 22 26 30 34 38 42 46 50

NMI Number of clusters

Dichotomy ¡in ¡ data ¡ ¡k ¡becomes ¡more ¡accurate ¡

slide-12
SLIDE 12

Realization ¡of ¡ secondary ¡ characteristics ¡ ¡

slide-13
SLIDE 13

¡ Goal: ¡A ¡metric ¡to ¡measure ¡verification ¡

efficiency ¡ ¡

¡ Measured ¡by ¡aggregating ¡the ¡number ¡of ¡

unique ¡root ¡causes ¡represented ¡by ¡failure ¡ reports ¡in ¡each ¡cluster ¡

¡ Low ¡UDI ¡è ¡Triaged ¡well ¡ ¡ High ¡UDI ¡è ¡Triaged ¡poorly ¡

¡

slide-14
SLIDE 14
slide-15
SLIDE 15

¡ Partitioning ¡graph ¡representations ¡of ¡

software ¡systems ¡[Mancoridis ¡‘99] ¡

¡ Triaging ¡software ¡bug ¡reports ¡using ¡

supervised ¡Machine ¡Learning ¡[Cubranic ¡‘04] ¡

¡ Utilizing ¡assertions ¡and ¡SAT-­‑based ¡debugging ¡

data ¡to ¡automatically ¡triage ¡failure ¡reports ¡ [Veneris ¡‘14] ¡

slide-16
SLIDE 16

¡ Proposed ¡a ¡method ¡to ¡group ¡failure ¡reports ¡

based ¡on ¡root ¡cause ¡

¡ Our ¡approach ¡improves ¡verification ¡efficiency ¡

by ¡243% ¡as ¡measured ¡by ¡Unique ¡Debugging ¡ Instances ¡

¡ Future ¡work: ¡ § Exploration ¡of ¡better ¡features ¡ § Ways ¡of ¡handling ¡the ¡manifestation ¡of ¡multiple ¡

bugs ¡during ¡a ¡single ¡execution ¡

§ Other ¡Machine ¡Learning ¡algorithms ¡