Comprehending Source Code of Large Software System for Reuse

被引:0
|
作者
Kulkarni, Aniket [1 ]
机构
[1] Tata Consultancy Serv, TCS Res, Plot 54 B,Hadapsar Ind Estate, Pune 411013, Maharashtra, India
关键词
PROGRAM COMPREHENSION;
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Comprehending source code of large software system for code reuse is an important problem. It is due to very high cost of software maintenance. In this paper, the author shares the experience on comprehending code-base of PRISM - a model-based program analysis tool developed by Tata Consultancy Services - containing in total more than 500 KLOC. During this activity, the author not only detected two bugs in existing PRISM software system while comprehending more than half of the total code (approximately 300 KLOC), but also added feature of Application Programming Interface (API) for Intermediate Representation (IR) transformation utility for 'C' language consisting of 1 KLOC. The author applied combination of key techniques such as lexical and dynamic analyses, models such as Brook, Soloway to understand code-base and, mixed top-down and bottom-up approaches for comprehension. The author observed that speed of comprehension and reuse later increased multi-fold because half of code-base (approximately 250 KLOC) is automatically generated from specification and thus by focusing on understanding less than 25 KLOC.
引用
收藏
页数:4
相关论文
共 50 条
  • [21] Measuring similarity of large software systems based on source code correspondence
    Yamamoto, T
    Matsushita, M
    Kamiya, T
    Inoue, K
    PRODUCT FOCUSED SOFTWARE PROCESS IMPROVEMENT, PROCEEDINGS, 2005, 3547 : 530 - 544
  • [22] Mapping Source Code to Software Architecture by Leveraging Large Language Models
    Johansson, Nils
    Caporuscio, Mauro
    Olsson, Tobias
    SOFTWARE ARCHITECTURE, ECSA 2024 TRACKS AND WORKSHOPS, 2024, 14937 : 133 - 149
  • [23] SoCeR: A New Source Code Recommendation Technique for Code Reuse
    Islam, Md Mazharul
    Iqbal, Razib
    2020 IEEE 44TH ANNUAL COMPUTERS, SOFTWARE, AND APPLICATIONS CONFERENCE (COMPSAC 2020), 2020, : 1552 - 1557
  • [24] Source Code Explorer System to Enhance the Software Maintainability and Scalability
    Al-Batah, Mohammad Subhi
    Alhindawi, Nouh
    Oqeili, Saleh
    Al-Hazaimeh, Obaida M.
    INTERNATIONAL JOURNAL OF EDUCATION AND INFORMATION TECHNOLOGIES, 2019, 13 : 94 - 101
  • [25] Programming Experience Might Not Help in Comprehending Obfuscated Source Code Efficiently
    Haensch, Norman
    Schankin, Andrea
    Protsenko, Mykolai
    Freiling, Felix
    Benenson, Zinaida
    PROCEEDINGS OF THE FOURTEENTH SYMPOSIUM ON USABLE PRIVACY AND SECURITY, 2018, : 341 - 356
  • [26] Syntax highlighting as an influencing factor when reading and comprehending source code
    Beelders, T. R.
    du Plessis, Jean-Pierre L.
    JOURNAL OF EYE MOVEMENT RESEARCH, 2016, 9 (01):
  • [27] Mathematical foundations based statistical modeling of software source code for software system evolution
    Althar, Raghavendra Rao
    Alahmadi, Abdulrahman
    Samanta, Debabrata
    Khan, Mohammad Zubair
    Alahmadi, Ahmed H.
    MATHEMATICAL BIOSCIENCES AND ENGINEERING, 2022, 19 (04) : 3701 - 3719
  • [28] Software Components, Architectures and Reuse: Software Product Line Engineering and Source Code Enhancements J.UCS Special Issue
    Fantinato, Marcelo
    Kulesza, Uira
    Oquendo, Flavio
    JOURNAL OF UNIVERSAL COMPUTER SCIENCE, 2014, 20 (05) : 583 - 586
  • [29] Comparing practices for reuse in integration-oriented software product lines and large open source software projects
    van Gurp, Jilles
    Prehofer, Christian
    Bosch, Jan
    SOFTWARE-PRACTICE & EXPERIENCE, 2010, 40 (04): : 285 - 312
  • [30] Generative AI for Code Generation: Software Reuse Implications
    Kapitsaki, Georgia M.
    REUSE AND SOFTWARE QUALITY, ICSR 2024, 2024, 14614 : 37 - 47