Professional Documents
Culture Documents
• Alomari, H.W., Collard, M.L., Maletic, J. I., "A Very Efficient and Scalable
• Data sources: PDG, execution traces Forward Static Slicing Approach", in the Proceedings of the IEEE
International Working Conference on Reverse Engineering (WCRE'12),
Kingston, Ontario, Canada, October 15-18, 2012 pp. 425-434
• Challenges:
• Alomari, H.W., Collard, M.L., Maletic, J. I., Alhindawi, N., Meqdadi, O.,
"srcSlice: Very Efficient and Scalable Forward Static Slicing", Journal of
• interprocedural (approaches, but can be Software: Evolution and Process, DOI: 10.1002/smr.1651, Vol. 26, No. 11,
complicated) November 2014, pp. 931-961. (Special Issue on the Best Papers from
WCRE 2012)
• scalability • Not based on PDG, but computed directly from the source code
System Dictionary
• file, function, and variable names
1. main() {
• @index - an index of each variable in the order that it was 2. var sum = 0
declared in the function 3. var i = 1
4. while i <= 10 {
• slines - a list of lines that comprise the slice; 5. sum = sum + i
6. i = i + 1
• cfunctions - a list of functions called using the slicing variable
7. }
• dvariables - a list of variables that are data dependent on the 8. print(sum)
slice variable 9. print(i)
10.}
• pointers - a list of aliases of the slicing variable
1. main() {
2. var sum = 0
3. var i = 1
4. while i <= 10 {
5. sum = sum + i
6. i = i + 1
7. }
8. print(sum)
9. print(i)
10.}