@inproceedings{jackson94model, author = {Daniel Jackson and Eugene J. Rollins}, title = {A new model of program dependences for reverse engineering}, booktitle = {SIGSOFT '94: Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering}, year = {1994}, isbn = {0-89791-691-3}, pages = {2--10}, location = {New Orleans, Louisiana, United States}, doi = {http://doi.acm.org/10.1145/193173.195281}, publisher = {ACM Press}, address = {New York, NY, USA}, abstract = {A dependence model for reverse engineering should treat procedures in a modular fashion and should be fine-grained, distinguishing dependences that are due to different variables. The program dependence graph (PDG) satisfies neither of these criteria. We present a new form of dependence graph that satisfies both, while retaining the advantages of the PDG: it is easy to construct and allows program slicing to be implemented as a simple graph traversal. We define 'chopping', a generalization of slicing that can express most of its variants, and show that, using our dependence graph, it produces more accurate results than algorithms based directly on the PDG.}, section = {OBFUSCATION,SSG}, cache = {jackson94model.pdf}, }