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 ...
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