Understanding large-scale software systems – structure and flows

被引:0
|
作者
Omer Levy
Dror G. Feitelson
机构
[1] The Hebrew University of Jerusalem,Department of Computer Science
来源
关键词
Program comprehension; System comprehension; Code structure; Program flows;
D O I
暂无
中图分类号
学科分类号
摘要
Program comprehension accounts for a large portion of software development costs and effort. The academic literature contains mainly research on program comprehension of short code snippets, but comprehension at the system level is no less important. We claim that comprehending a software system is a distinct activity that differs from code comprehension. We interviewed experienced developers, architects, and managers in the software industry and open-source community, to uncover the meaning of program comprehension at the system level; later we conducted a survey to verify the findings. The interviews demonstrate, among other things, that system comprehension is largely detached from code and programming language, and includes scope that is not captured in the code. It focuses on one hand on the structure of the system, and on the other hand on the flows in the system, but less on the code itself. System comprehension is a continuous, unending, iterative process, which utilizes white-box and black-box approaches at different layers of the system depending on needs, and combines both bottom-up and top-down comprehension strategies. In summary, comprehending a system is not just comprehending the code at a larger scale, and it is not possible to comprehend large systems at the same level as comprehending code.
引用
收藏
相关论文
共 50 条
  • [21] Practical and representative faultloads for large-scale software systems
    Costa, Pedro
    Silva, Joao Gabriel
    Madeira, Henrique
    JOURNAL OF SYSTEMS AND SOFTWARE, 2015, 103 : 182 - 197
  • [22] Managing the concurrent development of large-scale software systems
    Aoyama, M
    INTERNATIONAL JOURNAL OF TECHNOLOGY MANAGEMENT, 1997, 14 (6-8) : 739 - 765
  • [23] Automated Testing for Large-Scale Critical Software Systems
    Liu, Zheng
    Mei, Paul
    2014 5TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND SERVICE SCIENCE (ICSESS), 2014, : 200 - 203
  • [24] A Survey on Load Testing of Large-Scale Software Systems
    Jiang, Zhen Ming
    Hassan, Ahmed E.
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2015, 41 (11) : 1091 - 1118
  • [25] Visual software analytics for the build optimization of large-scale software systems
    Alexandru Telea
    Lucian Voinea
    Computational Statistics, 2011, 26 : 635 - 654
  • [26] LARGE-SCALE STRUCTURE GENERATION BY ANISOTROPIC SMALL-SCALE FLOWS
    YAKHOT, V
    PELZ, R
    PHYSICS OF FLUIDS, 1987, 30 (05) : 1272 - 1277
  • [27] Visual software analytics for the build optimization of large-scale software systems
    Telea, Alexandru
    Voinea, Lucian
    COMPUTATIONAL STATISTICS, 2011, 26 (04) : 635 - 654
  • [28] Understanding large-scale behaviour patterns in complex systems
    Buhr, RJA
    SECOND IEEE INTERNATIONAL CONFERENCE ON ENGINEERING OF COMPLEX COMPUTER SYSTEMS: HELD JOINTLY WITH 6TH CSESAW, 4TH IEEE RTAW, AND SES'96, 1996, : 143 - 146
  • [29] Understanding SSD Reliability in Large-Scale Cloud Systems
    Xu, Erci
    Zheng, Mai
    Qin, Feng
    Wu, Jiesheng
    Xu, Yikang
    PROCEEDINGS OF 2018 IEEE/ACM 3RD JOINT INTERNATIONAL WORKSHOP ON PARALLEL DATA STORAGE & DATA INTENSIVE SCALABLE COMPUTING SYSTEMS (PDSW-DISCS), 2018, : 45 - 53
  • [30] UNDERSTANDING RECENT OBSERVATIONS OF THE LARGE-SCALE STRUCTURE OF THE UNIVERSE
    COLES, P
    NATURE, 1990, 346 (6283) : 446 - 447