DOI QR코드

DOI QR Code

Error Recovery Script of Immunity Debugger for C# .NET Applications

  • Shinde, Rupali (Dept. of Information and Communication Engineering, Chungbuk National University) ;
  • Choi, Min (Dept. of Information and Communication Engineering, Chungbuk National University) ;
  • Lee, Su-Hyun (Dept. of Computer Engineering, Changwon National University)
  • Received : 2018.12.06
  • Accepted : 2019.05.08
  • Published : 2019.12.31

Abstract

We present a new technique, called VED (very effective debugging), for detecting and correcting division by zero errors for all types of .NET application. We use applications written in C# because C# applications are distributed through the internet and its executable format is used extensively. A tool called Immunity Debugger is used to reverse engineer executable code to get binaries of source code. With this technique, we demonstrate integer division by zero errors, the location of the error causing assembly language code, as well as error recovery done according to user preference. This technique can be extended to work for other programming languages in addition to C#. VED can work on different platforms such as Linux. This technique is simple to implement and economical because all the software used here are open source. Our aims are to simplify the maintenance process and to reduce the cost of the software development life cycle.

Keywords

References

  1. S. Sidiroglou-Douskos, E. Lahtinen, F. Long, and M. Rinard, "Automatic error elimination by horizontal code transfer across multiple applications," in Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation, Portland, OR, 2015, pp. 43-54.
  2. A. Gupta and S. Sharma, "Software Maintenance: challenges and Issues," International Journal of Computer Science Engineering, vol. 4, no. 1,pp. 23-25, 2015.
  3. T. M. Thompson, From Error-Correcting Codes through Sphere Packings to Simple Groups. Cambridge, MA: Cambridge University Press, 1983.
  4. V. Bharathi, "N-version programming method of software fault tolerance: a critical review," Proceedings of the 1st National Conference on Nonlinear Systems and Dynamics (NCNSD), Kharagpur, India, 2003, pp. 173-176.
  5. P. Amidon, E. Davis, S. Sidiroglou-Douskos, and M. Rinard, "Program fracture and recombination for efficient automatic code reuse," in Proceedings of 2015 IEEE High Performance Extreme Computing Conference (HPEC), Waltham, MA, 2015, pp. 1-6.
  6. K. Deulkar, J. Kapoor, P. Gaud, and H. Gala, "A novel approach to error detection and correction of c programs using machine learning and data mining," International Journalon Cybernetics & Informatics, vol. 5, no. 2, pp. 31-39, 2016.
  7. Y. Khmelevsky, M. Rinard, and S. Sidiroglou-Douskos, "A source-to-source transformation tool for error fixing," in Proceedings of the 2013 Conference of the Center for Advanced Studies on Collaborative Research, Ontario, Canada, 2013, pp. 147-160.
  8. Z. Qi, F. Long, S. Achour, and M. Rinard, "An analysis of patch plausibility and correctness for generate-and-validate patch generation systems," in Proceedings of the 2015 International Symposium on Software Testingand Analysis, Baltimore, MD, 2015, pp. 24-36.
  9. F. Long and M. Rinard, "Automatic patch generation by learning correct code," Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, St. Petersburg, FL, 2016, pp. 298-312.
  10. S. Sidiroglou-Douskos, E. Lahtinen, A. Eden, F. Long, and M. Rinard, "CodeCarbonCopy," in Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering, Paderborn, Germany, 2017, pp. 95-105.
  11. ILSpy Portable Debugger [Online]. Available: https://sourceforge.net/projects/ilspyportable/.
  12. R. K. Shinde, M. Jung, and S. H. Lee, "An experimental result of logical error recovery by reverse code engineering," in Proceedings of the Korean Institute of Information Scientists and Engineers, 2017, pp. 1655-1655.
  13. CFF Explorer [Online]. Available: https://ntcore.com/?page_id=388.
  14. Immunity Debugger [Online]. Available: https://www.immunityinc.com/products/debugger/.
  15. 8051 Instruction Set [Online]. Available: https://www.win.tue.nl/-aeb/comp/8051/set8051.html.