16.08.2013 Views

Exterminator- A ... with High Probability.pdf - DSpace at CUSAT ...

Exterminator- A ... with High Probability.pdf - DSpace at CUSAT ...

Exterminator- A ... with High Probability.pdf - DSpace at CUSAT ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

9. Future Work<br />

<strong>Extermin<strong>at</strong>or</strong><br />

While <strong>Extermin<strong>at</strong>or</strong> can effectively loc<strong>at</strong>e and correct memory errors on the heap, it<br />

does not yet address stack errors. We are investig<strong>at</strong>ing approaches to apply <strong>Extermin<strong>at</strong>or</strong> to<br />

the stack.<br />

In addition, while <strong>Extermin<strong>at</strong>or</strong>’s runtime p<strong>at</strong>ches contain inform<strong>at</strong>ion th<strong>at</strong> describe<br />

the error loc<strong>at</strong>ion and its extent, it is not in a human-readable form. We plan to develop a<br />

tool to process runtime p<strong>at</strong>ches into bug reports <strong>with</strong> suggested fixes.<br />

<strong>Extermin<strong>at</strong>or</strong> currently requires programs to be deterministic in their alloc<strong>at</strong>ion<br />

p<strong>at</strong>terns and their storage to heap objects. Individual executions of a program are expected<br />

to yield the same sequence of object alloc<strong>at</strong>ion identifiers (i.e., object i always refers to the<br />

same semantic object).<br />

These requirements make <strong>Extermin<strong>at</strong>or</strong> well-suited for serial programs, but less<br />

useful for multi-threaded programs. While <strong>Extermin<strong>at</strong>or</strong> can run programs <strong>with</strong> a small<br />

amount of non determinism, its isol<strong>at</strong>ion algorithm is not robust <strong>with</strong> respect to disruptions<br />

to the alloc<strong>at</strong>ion sequence.<br />

While simul<strong>at</strong>ion or deterministic replay mechanisms would enable <strong>Extermin<strong>at</strong>or</strong> to<br />

work reliably for multi-threaded programs, we plan to explore a variety of ways to directly<br />

handle programs <strong>with</strong> extensive non-determinism. One way to improve its behavior in the<br />

face of non-determinism would be for <strong>Extermin<strong>at</strong>or</strong> to associ<strong>at</strong>e object identifiers <strong>with</strong><br />

thread ids. This change would prevent multiple threads from disrupting a global alloc<strong>at</strong>ion<br />

sequence. We are especially interested in combining st<strong>at</strong>istical alignment techniques from<br />

machine learning <strong>with</strong> inform<strong>at</strong>ion gleaned from locks and other synchroniz<strong>at</strong>ion variables<br />

to let us recover alloc<strong>at</strong>ion sequences across multiple threads.<br />

Dept. Of Computer Science & Engg. ~ 25 ~ Cochin University of Science & Technology

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!