KIT | KIT-Bibliothek | Impressum | Datenschutz

Precise Slicing of Concurrent Programs - An Evaluation of Static Slicing Algorithms for Concurrent Programs

Giffhorn, Dennis; Hammer, Christian

Abstract:

While there exist efficient algorithms to slice sequential programs precisely, there are only two algorithms for precise slicing of concurrent interprocedural programs with recursive procedures (Krinke in Proc. ESEC/FSE'03, pp. 178-187, 2003; Nanda and Ramesh in ACM Toplas. 28(6):1088-1144, 2006). We present an empirical evaluation of both algorithms for Java. We demonstrate that both algorithms provide the same precision up to the model of concurrency in use and show that the concurrency model has strong impact on slice precision and computation costs. Furthermore, we extend both algorithms to support dynamic thread creation both in loops and recursion - a feature that the original algorithms could not fully handle. The worst case complexity of the algorithms being exponential, we developed several optimizations and compared these with each other and with algorithms that trade precision for speed. Finally, we show that one algorithm may produce incorrect slices and present a remedy.


Zugehörige Institution(en) am KIT Institut für Programmstrukturen und Datenorganisation (IPD)
Publikationstyp Zeitschriftenaufsatz
Publikationsjahr 2009
Sprache Englisch
Identifikator ISSN: 0928-8910
KITopen-ID: 1000017607
Erschienen in Automated Software Engineering
Verlag Springer
Band 16
Heft 2
Seiten 197 - 234
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
KITopen Landing Page