Software Regression and Migration Assistance Using Dynamic Instrumentation

  • Nachiketa ChatterjeeEmail author
  • Amlan Chakrabarti
  • Partha Pratim Das
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 897)


Companies and organizations use the legacy software for decades to serve various purposes. During this journey, the software system travels through several change requests and amendments of functionalities due to the changing nature of business and other requirements. As a result, different methodologies and implementations employed over the time are often not at all documented. So, modifying or migrating those software systems become difficult due to lack of technical knowledge about their behavior. This difficulty is even more when there is no Subject-Matter Expert (SME). Here, we propose a technique to verify the unchanged functionalities of untouched modules of the modified application by comparing with the older version of the application. Sometimes, the number of functional behaviors become irrelevant as they are no longer required by the business. However, significantly large portions of legacy applications continue executing, untouched by any modification or customization, to serve tiny yet critical purposes. Stakeholders also remain reluctant to cleanup or migrate because only for finding out the active part or functionals scope of the application is very tedious and consumes lot of effort due to lack of knowledge or documentation. Here, we have devised a mechanism to assist the migration specialists to identify the active part of an application, associated files, and data used by the active code that help in building the new one with similar functionalities. We can also assist the performance engineer by detecting the resource leakage in the application.


Software migration Regression Dynamic instrumentation 


  1. 1.
    Hwang, S.-M., Lee, J.: Design and implementation of Java dynamic testing tool using instrumentation. Indian J. Sci. Technol. 8(1), 475480 (2015)MathSciNetGoogle Scholar
  2. 2.
    Misurda, J., Clause, J.A., Reed, J.L., Childers, B.R., Soffa, M.L.: Demand-driven structural testing with dynamic instrumentation. In: ICSE’05, St. Louis, Missouri, USA (2005)Google Scholar
  3. 3.
    Eclipse integrated development environment.
  4. 4.
    Upadya, V.: State-based testing using dynamic instrumentation a case study. In: PNSQC 2012 Proceedings, pp. 1–6 (2012)Google Scholar
  5. 5.
    Huang, H.: Business rule extraction from legacy code. In: COMPSAC ’96 Proceedings of the 20th Conference on Computer Software and Applications, p. 162 (1996)Google Scholar
  6. 6.
    Streitel, F., Steidl, D., Jrgens, E.: Dead Code Detection on Class Level. CQSE GmbH, Garching bei München, Germany (2014)Google Scholar
  7. 7.
  8. 8.
    Gupta, R., Berson, D.A., Fang, J.Z.: Path profile guided partial dead code elimination using predication. In: PACT ’97 Proceedings of the 1997 International Conference on Parallel Architectures and Compilation Techniques, p. 102 (1997)Google Scholar
  9. 9.
  10. 10.
    Chatterjee, N., Bose, S., Das, P.P.: Dynamic weaving of aspects in C/C++ using PIN. In: HP3C-2017 Proceedings of the International Conference on High Performance Compilation, Computing and Communications, pp. 55–59 (2017)Google Scholar

Copyright information

© Springer Nature Singapore Pte Ltd. 2019

Authors and Affiliations

  • Nachiketa Chatterjee
    • 1
    Email author
  • Amlan Chakrabarti
    • 1
  • Partha Pratim Das
    • 2
  1. 1.A. K. Choudhury School of Information TechnologyUniversity of CalcuttaKolkataIndia
  2. 2.Department of Computer Science and EngineeringIndian Institute of Technology KharagpurKharagpurIndia

Personalised recommendations