Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Hwang, S.-M., Lee, J.: Design and implementation of Java dynamic testing tool using instrumentation. Indian J. Sci. Technol. 8(1), 475480 (2015)
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)
Eclipse integrated development environment. http://www.eclipse.org
Upadya, V.: State-based testing using dynamic instrumentation a case study. In: PNSQC 2012 Proceedings, pp. 1–6 (2012)
Huang, H.: Business rule extraction from legacy code. In: COMPSAC ’96 Proceedings of the 20th Conference on Computer Software and Applications, p. 162 (1996)
Streitel, F., Steidl, D., Jrgens, E.: Dead Code Detection on Class Level. CQSE GmbH, Garching bei München, Germany (2014)
Detecting dead C++ code. http://oovcde.sourceforge.net/articles/deadcode.html
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)
PIN tool user guide. https://software.intel.com/sites/landingpage/pintool/docs/81205/pin/html/
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Singapore Pte Ltd.
About this chapter
Cite this chapter
Chatterjee, N., Chakrabarti, A., Das, P.P. (2019). Software Regression and Migration Assistance Using Dynamic Instrumentation. In: Chaki, R., Cortesi, A., Saeed, K., Chaki, N. (eds) Advanced Computing and Systems for Security. Advances in Intelligent Systems and Computing, vol 897. Springer, Singapore. https://doi.org/10.1007/978-981-13-3250-0_12
Download citation
DOI: https://doi.org/10.1007/978-981-13-3250-0_12
Published:
Publisher Name: Springer, Singapore
Print ISBN: 978-981-13-3249-4
Online ISBN: 978-981-13-3250-0
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)