Skip to main content

Panorama: A Multi-language Software Information Prospecting Facility

  • Conference paper
  • First Online:
ICT: Innovation and Computing (ICTCS 2023)

Abstract

This paper concerns the development of both theoretical and operational frameworks, called Panorama, for comprehending large scale, multi-lingual software systems. The foundation to the system is the development and deployment of instrumentation agents, which have the ability to burrow through the software at various levels of depth—both statically and dynamically and treating the software as Black box and/or White box—in order to collect valuable information. In our past research (Gallagher and Lakshmi Narasimhan in, IEEE Trans Softw Engg 23(8):473–484, 1997), we have developed both a theoretical framework and an implementation of a core set of instrumentation statements in order to optimize data generation for testability purposes. This framework is distributed and applicable to assembly language, procedural and OO paradigms, and combinations thereof. This basic framework has been augmented with additional theoretical foundation and instrumentation procedures so that processes for software visualization and comprehension can be achieved. The instrumentation is completely handled by a distributed agent-based system, which is also capable of detecting the underlying programming languages and capturing all book-keeping information needed for various application requirements. It is envisaged that robust optimization procedures are required (as was shown before for testability purposes) for dynamic system composition. The system has the capability for self-cataloguing and querying toward the above-mentioned purposes, in addition to providing view-tailoring and view maintenance for specific application domains. The Panorama system can be mounted over a Cloud environment also.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 169.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Code ontology development will be part of this research.

  2. 2.

    It is recognized that any instrumentation perturbs the execution environment. Because these instrumentation statements are diagnostic in nature and meant to facilitate information prospecting, they are unlikely to affect program execution in a substantial manner. However, because they are somewhat intrusive, they can affect real-time software execution. There are other ways [24] to instrument real time software, which are beyond the scope of this proposal.

  3. 3.

    Primary modules in a modern submarine software system include combat system, command & control system, propulsion system, missile control and guidance system, navigation system and sensor system, and the typical size of the overall system will be around 30–40 Million lines of code.

References

  1. Investing in our future: information technology research—technical priorities on software research, president’s information technology advisory committee (PITAC) report to the president of the USA (2002). Also, freely available at: http://www.ccic.gov/ac/report/

  2. Hoe AV, Sethi R, Ullman JD (1994) Compilers—principles, techniques and tools. Addison-Wesley Publication

    Google Scholar 

  3. Muchnick S (1997) Advanced compiler design and implementation. Morgan Kaufmann Publication

    Google Scholar 

  4. Rosemberg J (1996) How debuggers work—algorithms, data structures, and architecture. Wiley

    Google Scholar 

  5. Object File Formats: http://www.backerstreet.com/cg/work.htm

  6. Reverse Engineering the LEGO RCX (2001) Kekoa Proudfoot. Inc. Research Paper submitted to Stanford University Conference on Reverse Engineering, USA. Also available at: http://graphics.stanford.edu/~kekoa/rcx/talk/#Index

  7. van den Brand MGJ, Klint P, Verhoef C (1999) Reverse engineering and system renovation—an annotated bibliography, technical report from the programming research group, University of Amsterdam. Also available at: http://adam.wins.uva.nl/~x/reeng/REanno.html

  8. Paul S, Prakash A (1994) Supporting queries on source code: a formal framework. Int J Software Eng Knowl Eng 4(3):325–348

    Article  Google Scholar 

  9. Hall RJ (1995) Automatic extraction of executable program subsets by simultaneous dynamic program slicing. Autom Softw Eng 2:33–53

    Article  Google Scholar 

  10. Tip F (1995) A survey of program slicing techniques. J Program Lang 3:121–189

    Google Scholar 

  11. Gallagher M, Lakshmi Narasimhan V (1997) ADTEST: a test data generation suite for Ada software systems. IEEE Trans Softw Eng 23(8): 473–484

    Google Scholar 

  12. El Emam K, Object oriented metrics: a review of theory and practice. IEEE Trans Softw Eng (to appear)

    Google Scholar 

  13. Lakshmi Narasimhan V (2000) Fundamental issues in management and processing of semi-formatted and free text. Internal technical presentation report, defence science and technology organization (DSTO), Adelaide, Australia

    Google Scholar 

  14. Milner W, Spooner DL (1976) Automatic generation of floating point test data. IEEE Trans Softw Eng 223–226

    Google Scholar 

  15. Ward M, Heineman G (2001) A framework for visualizing the behavior of component-based software systems. Worcester Polytechnic Institute Download

    Google Scholar 

  16. Marshall S, Using and visualizing reusable code. Victoria University of Wellington Download

    Google Scholar 

  17. Rayside D, Litoiu M, Storey MA, Best C. Visualizing flow diagrams with SHriMP (IBM Centre for Advanced Studies Toronto), Margaret-Anne Storey and Casey Best, (University of Victoria) Download

    Google Scholar 

  18. Schauer R, Keller RK, Pattern visualization for software comprehension. IEEE Conf Softw Eng. http://www.iro.umontreal.ca/~labgelo/Publications/Papers/iwpc98.pdf.

  19. Mittermeir RT et al (2001) Goal-driven combination of software comprehension approaches for component based development. In: Proceedings of the 2001 symposium on Software reusability: putting software reuse in context

    Google Scholar 

  20. Cheikes BA, Gertner AS (2002) Software instrumentation for intelligent embedded training. MITRE internal report, 2002

    Google Scholar 

  21. Vo K-P et al, Xept: a software instrumentation method for exception handling. In: Eighth international symposium on software reliability engineering (ISSRE ‘97)

    Google Scholar 

  22. Bailes PA et al (1995) Knowledge-based requirements analysis for ada design recovery: design entity identification and representation. University of Queensland technical report

    Google Scholar 

  23. Welty C (1995) Towards an epistemology for software representations. In: Proceedings of the tenth knowledge-based software engineering conference. IEEE Computer Society Press

    Google Scholar 

  24. Krishna CM, Shin KG (1997) Realtme systems. McGraw Hill Publication, Chapter 3, p 40

    Google Scholar 

  25. Lakshmi Narasimhan V, Hendradjaya B (2005) Some theoretical considerations for a suite of metrics for the integration of software components. J Inf Sci (Elsevier Press)

    Google Scholar 

  26. Shatnawi A, Mili H, El Boussaidi et al (2017) Analyzing program dependencies in Java EE applications. In: Proceedings of 2017 IEEE/ACM 14th international conference on mining software repositories (MSR), pp 64–74

    Google Scholar 

  27. Additional References can be obtained from the authors.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to V. Lakshmi Narasimhan .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2024 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Lakshmi Narasimhan, V., Krishna, R.V. (2024). Panorama: A Multi-language Software Information Prospecting Facility. In: Joshi, A., Mahmud, M., Ragel, R.G., Karthik, S. (eds) ICT: Innovation and Computing. ICTCS 2023. Lecture Notes in Networks and Systems, vol 879. Springer, Singapore. https://doi.org/10.1007/978-981-99-9486-1_11

Download citation

  • DOI: https://doi.org/10.1007/978-981-99-9486-1_11

  • Published:

  • Publisher Name: Springer, Singapore

  • Print ISBN: 978-981-99-9485-4

  • Online ISBN: 978-981-99-9486-1

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics