====== Slicers ====== ===== Currently known and available ===== In alphabetical order: * [[https://mist.dsic.upv.es/git/program-slicing/e-knife-erlang|e-Knife (Erlang)]]: a slicer for Erlang based on the Expression Dependence Graph. Only supports sequential Erlang. [[https://mist.dsic.upv.es/e-knife-erlang/|A demo is available]]. * [[https://mist.dsic.upv.es/git/program-slicing/e-knife-java|e-Knife (Java)]]: a slicer for Java based on the Expression Dependence Graph. Its support of newer Java features and of concurrency is limited. [[https://mist.dsic.upv.es/e-knife-java/|A demo is available]]. * [[https://github.com/mchalupa/dg|dg]]: a LLVM static slicer. See README for papers. * [[https://github.com/backes/javaslicer|JavaSlicer]]: an open-source dynamic slicing tool developed at Saarland University. * [[https://github.com/mistupv/javaslicer|JavaSlicer]]: a slicer for Java, including support for objects and exceptions, but not for concurrent Java programs, streams and other modern Java features. [[https://mist.dsic.upv.es/JavaSlicer/demo/|A demo is available]]. * [[https://github.com/resess/Mandoline|Mandoline]]: an accurate, low-overhead dynamic slicer for Android applications. * [[https://github.com/resess/Slicer4J|Slicer4J]]: an accurate, low-overhead dynamic slicer for Java programs. * [[https://github.com/YoshikiHigo/TinyPDG|TinyPDG]]: a library for building intraprocedural PDGs for Java programs, written in Java. * [[https://github.com/wala/WALA|WALA]]: includes a Java bytecode slicer (and more recently, a JavaScript slicer). ===== Unavailable projects ===== In alphabetical order: * CodeSurfer: proprietary, included in [[wp>CodeSonar]], an analysis suite by [[https://www.grammatech.com|GrammaTech]] (now spun off to a venture capital firm, see [[wp>GrammaTech#History]]. Used to include a slicer, but no longer does. * Indus-Kaveri: a Java slicer that included support for concurrent Java programs. Its [[https://forge.cis.ksu.edu/frs/?Group_id=12|university forge]] is down, and someone has [[https://github.com/rvprasad/Indus_archive|archived it on GitHub]] (some files are on Git LFS and can't be downloaded).