Categories of Source Code in Industrial Systems

被引:3
|
作者
Alves, Tiago L. [1 ,2 ]
机构
[1] Software Improvement Grp, Amsterdam, Netherlands
[2] Univ Minho, Braga, Portugal
关键词
Categorization; source code; software metrics; product measurement; industrial systems; analysis scope;
D O I
10.1109/ESEM.2011.42
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The categorization of source code artifacts affects how the overall product is measured and consequently how these measurements are interpreted. When measuring complexity, for instance, failing to distinguish test and generated code will affect complexity measurements possibly leading to an erroneous interpretation of the overall product complexity. Although categorization problems are known, there seems to be little attention given to this subject in the literature. In this paper, we introduce a categorization for source code artifacts and present an empirical study providing evidence of each category. Artifacts are divided into production and test code, and then these categories are sub-divided into manually-maintained, generated, library, and example code. By analyzing 80 Java and C# industrial systems, we have found evidence of the majority of categories. We show that in average production code only accounts for 60% of a product volume. Also, we have found that for some systems the overall percentage of test and generated code, each can account to over 70% and of library code to over 40%. Finally we discuss the difficulties of distinguishing source code artifacts and conclude with directions for further research.
引用
收藏
页码:335 / 342
页数:8
相关论文
共 50 条
  • [1] Lexical Categories for Source Code Identifiers
    Newman, Christian D.
    AlSuhaibani, Reem S.
    Collard, Michael L.
    Maletic, Jonathan I.
    2017 IEEE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), 2017, : 228 - 239
  • [2] Source code review systems
    Remillard, J
    IEEE SOFTWARE, 2005, 22 (01) : 74 - 77
  • [3] Predicting Build Co-Changes with Source Code Change and Commit Categories
    Macho, Christian
    McIntosh, Shane
    Pinzger, Martin
    2016 IEEE 23RD INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER), VOL 1, 2016, : 541 - 551
  • [4] A Case Study of Refactoring Large-Scale Industrial Systems to Efficiently Improve Source Code Quality
    Szoke, Gabor
    Nagy, Csaba
    Ferenc, Rudolf
    Gyimothy, Tibor
    COMPUTATIONAL SCIENCE AND ITS APPLICATIONS - ICCSA 2014, PT V, 2014, 8583 : 524 - 540
  • [5] Source Code Recommender Systems: The Practitioners' Perspective
    Ciniselli, Matteo
    Pascarella, Luca
    Aghajani, Emad
    Scalabrino, Simone
    Oliveto, Rocco
    Bavota, Gabriele
    2023 IEEE/ACM 45TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ICSE, 2023, : 2161 - 2172
  • [6] Distributed source code debugging for embedded systems
    Parson, D
    Herrera-Bendezu, L
    Vollmer, J
    PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOLS I-V, 2000, : 2409 - 2415
  • [7] Code Reviewer Intelligent Prediction in Open Source Industrial Software Project
    Liao, Zhifang
    Zhang, Bolin
    Huang, Xuechun
    Yu, Song
    Zhang, Yan
    CMES-COMPUTER MODELING IN ENGINEERING & SCIENCES, 2023, 137 (01): : 687 - 704
  • [8] Extraction of Documentation from Fortran 90 Source Code: An Industrial Experience
    Pichler, Josef
    PROCEEDINGS OF THE 17TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING (CSMR 2013), 2013, : 399 - 402
  • [9] Towards measuring the impact of industrial programming training on source code quality
    Morita, Hiromu
    Hirao, Toshiki
    Ishio, Takashi
    Nitta, Shota
    Mori, Yasunao
    Matsumoto, Kenichi
    Computer Software, 2021, 38 (03): : 75 - 82
  • [10] An Empirical Study on the Occurrences of Code Smells in Open Source and Industrial Projects
    Rahman, Md. Masudur
    Satter, Abdus
    Joarder, Md. Mahbubul Alam
    Sakib, Kazi
    PROCEEDINGS OF THE16TH ACM/IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT, ESEM 2022, 2022, : 289 - 294