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 条
  • [41] THE COLLECTIVE WRITING OF SOFTWARE SOURCE CODE
    Couture, Stephane
    REVUE D ANTHROPOLOGIE DES CONNAISSANCES, 2012, 6 (01): : 21 - 42
  • [42] CRYPTEX model for software source code
    Cha, ByungRae
    PROCEEDINGS OF THE SECOND INTERNATIONAL CONFERENCE ON INFORMATION SECURITY AND ASSURANCE, 2008, : 226 - 230
  • [43] Source code transformation to improve conditional hardware reuse
    Peñalba, O
    Mendías, JM
    Hermida, R
    EUROMICRO SYMPOSIUM ON DIGITAL SYSTEM DESIGN, PROCEEDINGS: ARCHITECTURES, METHODS AND TOOLS, 2002, : 324 - 330
  • [44] Scenario-driven dynamic analysis for comprehending large software systems
    Salah, Maher
    Mancoridis, Spiros
    Antoniol, Giuliano
    Di Penta, Massimiliano
    10TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING, PROCEEDINGS, 2006, : 69 - +
  • [45] DEVELOPING SOFTWARE FOR LARGE-SCALE REUSE
    SEIDEWITZ, E
    BALFOUR, B
    ADAMS, SS
    WADE, DM
    COX, B
    SIGPLAN NOTICES, 1993, 28 (10): : 137 - 143
  • [46] Author-Profile System Development Based on Software Reuse of Open Source Components
    Nazareth, Derrick
    Asnani, Kavita
    Rodrigues, Okstynn
    PROCEEDINGS OF THE 3RD INTERNATIONAL CONFERENCE ON FRONTIERS OF INTELLIGENT COMPUTING: THEORY AND APPLICATIONS (FICTA) 2014, VOL 2, 2015, 328 : 629 - 636
  • [47] Analyzing Source Code Identifiers for Code Reuse using NLP Techniques and WordNet
    Pirapuraj, P.
    Perera, Indika
    2017 3RD INTERNATIONAL MORATUWA ENGINEERING RESEARCH CONFERENCE (MERCON), 2017, : 105 - 110
  • [48] Utilizing Semantic Techniques for Automatic Code Reuse in Software Repositories
    Alnusair, Awny
    Rawashdeh, Majdi
    Hossain, M. Anwar
    Alhamid, Mohammed F.
    QUALITY SOFTWARE THROUGH REUSE AND INTEGRATION, 2018, 561 : 42 - 62
  • [49] Malware Provenance: Code Reuse Detection in Malicious Software at Scale
    Upchurch, Jason
    Zhou, Xiaobo
    2016 11TH INTERNATIONAL CONFERENCE ON MALICIOUS AND UNWANTED SOFTWARE (MALWARE), 2016, : 101 - 109
  • [50] Identifying Source Code Reuse across Repositories using LCS-based Source Code Similarity
    Kawamitsu, Naohiro
    Ishio, Takashi
    Kanda, Tetsuya
    Kula, Raula Gaikovina
    De Roover, Coen
    Inoue, Katsuro
    2014 14TH IEEE INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM 2014), 2014, : 305 - 314