A New Data Structure and Algorithm for Static Slicing Concurrent Programs