Kaveri: Delivering the Indus Java Program Slicer to Eclipse

  • Ganeshan Jayaraman
  • Venkatesh Prasad Ranganath
  • John Hatcliff
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3442)


This tool paper describes a modular program slicer for Java built using the Indus program analysis framework along with it’s Eclipse-based user interface called Kaveri. Indus provides a library of classes that enables users to quickly assemble a highly customized non-system dependence graph based inter-procedural program slicer capable of slicing concurrent Java programs. Kaveri is an Eclipse plugin that relies on the above library to deliver program slicing to the eclipse platform. Apart from the basic feature for generating program slices from within eclipse along with an intuitive UI to view the slice, the plugin also provides the capability for chasing various dependences in the application to understand the slice.


Java Program Program Comprehension Concurrent Program Program Point Call Graph 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Krinke, J.: Advanced Slicing of Sequntial and Concurrent Programs. PhD thesis, Fakultät für Mathematik und Informatik, Universität Passau (2003)Google Scholar
  2. 2.
    Corbett, J.C., Dwyer, M.B., Hatcliff, J., Laubach, S., Păsăreanu, C.S., Robby, Z.H.: Bandera: Extracting finite-state models from Java source code. In: Proceedings of the 22nd International Conference on Software Engineering (ICSE 2000), pp. 439–448 (2000)Google Scholar
  3. 3.
    Sable Group: Soot, a Java Optimization Framework.,
  4. 4.
    Ranganath, V.P., Hatcliff, J.: Pruning interference and ready dependence for slicing concurrent java programs. In: Duesterwald, E. (ed.) CC 2004, vol. 2985, pp. 39–56. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  5. 5.
    Hatcliff, J., Corbett, J.C., Dwyer, M.B., Sokolowski, S., Zheng, H.: A formal study of slicing for multi-threaded programs with JVM concurrency primitives. In: Proceedings on the International Symposium on Static Analysis, SAS 1999 (1999)Google Scholar
  6. 6.
    Ranganath, V.P., Amtoft, T., Banerjee, A., Dwyer, B.M., Hatcliff, J.: A new foundation for control-dependence and slicing for modern program structures. In: Sagiv, M. (ed.) ESOP 2005. LNCS, vol. 3444, pp. 77–93. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  7. 7.
    Krinke, J.: Static slicing of threaded programs. In: Proceedings ACM SIGPLAN/SIGFSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE 1998). ACM SIGPLAN Notices, vol. 33(7), pp. 35–42 (1998)Google Scholar
  8. 8.
    Ranganath, V.P.: Object-Flow Analysis for Optimizing Finite-State Models of Java Software. Master’s thesis, Kansas State University (2002)Google Scholar
  9. 9.
    OTI: Eclipse, an open extensible IDE written in Java.
  10. 10.
    SAnToS Laboratory: Indus.

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Ganeshan Jayaraman
    • 1
  • Venkatesh Prasad Ranganath
    • 1
  • John Hatcliff
    • 1
  1. 1.Department of Computing and Information SciencesKansas State UniversityManhattanUSA

Personalised recommendations