CFP last date
15 January 2025
Reseach Article

Identifying the Behavioral Difference using Differential Slicing

by N. Suguna, R. M. Chandrasekaran
International Journal of Applied Information Systems
Foundation of Computer Science (FCS), NY, USA
Volume 5 - Number 7
Year of Publication: 2013
Authors: N. Suguna, R. M. Chandrasekaran
10.5120/ijais13-450943

N. Suguna, R. M. Chandrasekaran . Identifying the Behavioral Difference using Differential Slicing. International Journal of Applied Information Systems. 5, 7 ( May 2013), 41-48. DOI=10.5120/ijais13-450943

@article{ 10.5120/ijais13-450943,
author = { N. Suguna, R. M. Chandrasekaran },
title = { Identifying the Behavioral Difference using Differential Slicing },
journal = { International Journal of Applied Information Systems },
issue_date = { May 2013 },
volume = { 5 },
number = { 7 },
month = { May },
year = { 2013 },
issn = { 2249-0868 },
pages = { 41-48 },
numpages = {9},
url = { https://www.ijais.org/archives/volume5/number7/466-0943/ },
doi = { 10.5120/ijais13-450943 },
publisher = {Foundation of Computer Science (FCS), NY, USA},
address = {New York, USA}
}
%0 Journal Article
%1 2023-07-05T17:58:50.698311+05:30
%A N. Suguna
%A R. M. Chandrasekaran
%T Identifying the Behavioral Difference using Differential Slicing
%J International Journal of Applied Information Systems
%@ 2249-0868
%V 5
%N 7
%P 41-48
%D 2013
%I Foundation of Computer Science (FCS), NY, USA
Abstract

The programmer has to understand the behavior of two similar programs and then identify the execution difference which produces difference in output. When two similar programs are executed under two different environments which shows different behavior in output. The main difference exists in the program behavior is due to two different types of input. This paper proposes differential slicing based on trace alignment algorithm which produces the execution differences and generates a casual difference graph. We implement differential slicing for C# programs and identify the execution difference. The results shows that differential slicing identifies the input difference and casual difference graph reduces the amount of time for the programmers to understand the execution difference. Our experimental results show the proposed differential slicing performs better than existing approach.

References
  1. J. Winstead and D. Evans. Towards differential program analysis. In Workshop on Dynamic Analysis, Portland, OR, May 2003.
  2. Franz Wotawa, "On the use of constraints in dynamic slicing for program debugging", Fourth International Conference on Software Testing, Verification and Validation Workshops, 2011.
  3. Noah M. Johnson and Juan caballero et al, "Differential slicing: Identifying casual executions differences for security applications", IEEE symposium on security and privacy, 2011.
  4. W. N. Sumner and X. Zhang. Algorithms for automatically computing the causal paths of failures. In FASE, York, United Kingdom, March 2009.
  5. X. Zhang, S. Tallam, N. Gupta, and R. Gupta. Towards locating execution omission errors. In PLDI, San Diego, CA, June 2007.
  6. J. R. Crandall, G. Wassermann, D. A. S. Oliveira, Z. Su,S. Felix, W. Frederic, and T. Chong. Temporal search: Detecting hidden malware timebombs with virtual machines. In Operating Systems Review, pages 25–36. ACM Press, 2006.
  7. D. Brumley, C. Hartwig, Z. Liang, J. Newsome, P. Poosankam, D. Song, and H. Yin. Automatically identifying trigger-based behavior in malware. In Book chapter in "Botnet Analysis and Defense", 2007.
  8. A. Moser, C. Kruegel, and E. Kirda. Exploring multiple execution paths for malware analysis. In Proceedings of the 2007 IEEE Symposium on Security and Privacy, SP '07, pages 231–245, Washington, DC, USA, 2007. IEEE Computer Society.
  9. M. Weiser. Program slicing. In ICSE, San Diego, CA, March 1981. H. Agrawal and J. R. Horgan. Dynamic program slicing. ACM SIGPLAN Notices, 25(6), June 1990.
  10. M. Sridharan, S. J. Fink, and R. Bodik. Thin slicing. In PLDI, San Diego, CA, June 2007.
  11. X. Zhang, R. Gupta, and Y. Zhang. Precise dynamic slicing algorithms. In ICSE, Portland, OR, May 2003.
  12. B. Korel and J. Laski. Dynamic program slicing. Info. Proc. Letters, 29(3), October 1988.
  13. H. Agrawal, J. R. Horgan, E. W. Krauser, and S. London Incremental regression testing. In ICSM, Montreal, Canada, September 1993.
  14. T. Gyim´othy, A. Besz´edes, and I. Forgacs. An efficient relevant slicing method for debugging. In ESEC, Toulouse, France, September 1999.
  15. A. Zeller and R. Hildebrandt. Simplifying and isolating failure-inducing input. IEEE TSE, 28, February 2002.
  16. H. Cleve and A. Zeller. Locating causes of program failures. InICSE, Saint Louis, MO, May 2005.
  17. W. N. Sumner and X. Zhang. Memory indexing: Canonical zing addresses across executions. In FSE, Santa Fe, NM, November 2010.
  18. G. Liang, A. Roychoudhury, and T. Wang. Accurately choosing execution runs for software fault localization. In CC, Vienna, Austria, March 2006.
  19. S. Bhatkar, D. C. DuVarney, and R. Sekar. Address obfuscation: An efficient approach to combat a broad range of memory error exploits. In USENIX Security, Washington, D. C. , August 2003.
  20. J. Caballero. Grammar and Model Extraction for Security Applications using Dynamic Program Binary Analysis. PhD thesis, Department of Electrical and Computer Engineering, Carnegie Mellon University, Pittsburgh, PA, September 2010.
  21. P. M. Comparetti, G. Salvaneschi, E. Kirda, C. Kolbitsch, C. Kruegel, and S. Zanero. Identifying dormant functionality in malware programs. In Proceedings of the 2010 IEEE Symposium on Security and Privacy, SP '10, pages 61–76, Washington, DC, USA, 2010. IEEE Computer Society.
  22. J. Ferrante, K. J. Ottenstein, and J. D. Warren. The program dependence graph and its use in optimization. ACM Trans. Program. Lang. Syst. , 9:319–349, July 1987.
  23. M. J. Harrold, Y. G. Rothermel, Z. K. Sayre, Z. R. Wu, and L. Y. Z. An empirical investigation of the relationship between spectra differences and regression faults. Software Testing, Verification and Reliability, 10:2000, 2000.
  24. S. Horwitz, T. Reps, and D. Binkley. Interprocedural slicing using dependence graphs. ACM Trans. Program. Lang. Syst. , 12:26–60, January 1990.
  25. M. G. Kang, H. Yin, S. Hanna, S. McCamant, and D. Song. Emulating emulation-resistant malware. In VMSec, Chicago, IL, November 2009.
  26. S. S. Muchnick. Advanced compiler design and implementation. Morgan Kaufmann, 1997.
  27. P. Porras, H. Saidi, and V. Yegneswaran. A foray into Conficker's logic and rendezvous points. In LEET, Boston, MA, April 2009.
  28. Symantec Corporation. W32. Netsky. C. http://www. symantec. com/security J. Winstead and D. Evans. Towards differential program analysis. In Workshop on Dynamic Analysis, Portland, OR, May 2003.
  29. response/writeup. jsp? docid=2004-022417-4628-99.
  30. TEMU: The Bit Blaze dynamic analysis component. http:// bitblaze. cs. berkeley. edu/temu. html.
  31. N. Tracey, J. Clark, and K. Mander. The way forward for unifying dynamic test case generation: The optimizationbased approach. In In International Workshop on Dependable Computing and Its Applications, pages 169–180, 1998.
  32. D. Weeratunge, X. Zhang, and W. N. S. S. Jagannathan. Analyzing concurrency bugs using dual slicing. In ISSTA, Trento, Italy, July 2010.
  33. J. Winstead and D. Evans. Towards differential program analysis. In Workshop on Dynamic Analysis, Portland, OR, May 2003.
  34. T. Xie and D. Notkin. Checking inside the black box: Regression fault exposure and localization based on value spectra differences. Technical report, FSE Poster Session, 2002.
  35. B. Xin, W. N. Sumner, and X. Zhang. Efficient program execution indexing. In PLDI, Tucson, AZ, June 2008.
Index Terms

Computer Science
Information Sciences

Keywords

Casual Difference Graph (CDG) Program Dependence Graph (PDG)