Abstract:
Contrary to the popular belief, the most challenging aspect of any software application
is not its development but its continuous maintenance and, in many cases, it is upgradation. To maintain successfully and efficiently, upgrade, and/or troubleshoot any
modern-day software application, a thorough understanding of the developer’s vision
behind it and the back-end dynamics is required. This process of looking back and
connecting the dots is termed as “reverse engineering”. Since all state-of-the-art
software applications is heterogeneous i.e., they comprise multilingual source codes,
backtracking means that we must be able to fully comprehend and unravel the crosslanguage links (XLLs) and their dependencies.
With problem statement in view, the underlying objective of this research study is to
perform a systematic literature review (SLR) to be able to compile different approaches,
tools & techniques used and the shortcomings faced during the last decade in
understanding the XLLs and their dependencies.
Systematic literature review (SLR) is based on a total of 76 primary studies, which span
over 15 years. These studies were conducted to create a “go-to” literature database,
where professionals from software engineering (SE) could find all the content pertinent
to the analysis and XLLs detection for all major types of multilingual applications, like
Java Enterprise Applications (JEAs), Android Applications, Web applications, etc.
However, it has been observed that traditional source code analyses mechanisms,
employed to reverse engineer contemporary software applications, face scores of
problems and limitations that need to be addressed in the future.
To assist the researchers and practitioners in the above-mentioned goal, general schema
with definitions of cross-language links and associated concepts is furnished. The
contribution of this thesis is a systematic literature review on XLLs, a comprehensive
taxonomy, named Cross-Language Analysis (XLA), which incorporates all the
methods for cross-language link detection in multilingual source code. At the end of
this research study, we discuss the way forward and prospective research domains to
support software development and maintenance.