Dynamic Program Slicing is a dynamic program analysis technique that given a slicing criterion (line number, variable,..) finds all statements in the program affecting (if backward sliced) or affected by (if forward sliced) the slicing criterion for a specific execution.
Dynamic Slicing has been around for decades however the main obstacle in its wide-spread acceptance is the high overhead (both run-time and space) involved. We have addressed the overhead concerns by various techniques described in the CGO 2014 paper on DrDebug (see ). We have implemented our techniques in a debugging and analysis toolkit where the Linux debugger GDB is extended to allow interactive dynamic slicing. By doing dynamic slicing for the recording of a small execution region of a program, the overhead can be managed also providing repeatable dynamic slicing results across multiple debug sessions.
1. DrDebug/PinPlay kit ( version 2.2 or higher)
2. Eclipse GUI for DrDebug/slicing.
1. DrDebug: Deterministic Replay based Cyclic Debugging with Dynamic Slicing; Yan Wang, Harish Patil, Cristiano Pereira, Gregory Lueck, Rajiv Gupta, Iulian Neamtiu. CGO 2014.
Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.
Notice revision #20110804