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 条
  • [31] MULTILEVEL STRUCTURE OF LARGE-SCALE COMPOSITE SYSTEMS
    OZGUNER, U
    PERKINS, WR
    IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS, 1975, CA22 (07): : 618 - 621
  • [32] Structure and Function of Large-Scale Brain Systems
    Koziol, Leonard F.
    Barker, Lauren A.
    Joyce, Arthur W.
    Hrin, Skip
    APPLIED NEUROPSYCHOLOGY-CHILD, 2014, 3 (04) : 236 - 244
  • [33] Large-scale flows and coherent structure phenomena in flute turbulence
    Sandberg, I
    Andrushchenko, ZN
    Pavlenko, VP
    PHYSICS OF PLASMAS, 2005, 12 (04) : 1 - 5
  • [34] Program understanding behavior during corrective maintenance of large-scale software
    Vans, AM
    von Mayrhauser, A
    Somlo, G
    INTERNATIONAL JOURNAL OF HUMAN-COMPUTER STUDIES, 1999, 51 (01) : 31 - 70
  • [35] SOFTWARE AS A LARGE-SCALE SYSTEM
    SAGE, AP
    LARGE SCALE SYSTEMS IN INFORMATION AND DECISION TECHNOLOGIES, 1987, 12 (03): : 185 - 188
  • [36] Roundtable: Research Opportunities and Challenges for Large-Scale Software Systems
    Xiao, Xusheng
    Lou, Jian-Guang
    Lu, Shan
    Shepherd, David C.
    Peng, Xin
    Wang, Qian-Xiang
    JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY, 2016, 31 (05) : 851 - 860
  • [37] Roundtable: Research Opportunities and Challenges for Large-Scale Software Systems
    Xusheng Xiao
    Jian-Guang Lou
    Shan Lu
    David C. Shepherd
    Xin Peng
    Qian-Xiang Wang
    Journal of Computer Science and Technology, 2016, 31 : 851 - 860
  • [38] Architectural integration styles for large-scale enterprise software systems
    Andersson, J
    Johnson, P
    FIFTH IEEE INTERNATIONAL ENTERPRISE DISTRIBUTED OBJECT COMPUTING CONFERENCE, PROCEEDINGS, 2001, : 224 - 236
  • [39] Achieving software robustness via large-scale multiagent systems
    Huhns, MN
    Holderfield, VT
    Gutierrez, RLZ
    SOFTWARE ENGINEERING FOR LARGE-SCALE MULTI-AGENT SYSTEMS: RESEARCH ISSUES AND PRACTICAL APPLICATIONS, 2003, 2603 : 199 - 215
  • [40] New Software Engineering Requirements in Clouds and Large-Scale Systems
    Schubert, Lutz
    Jeffery, Keith
    IEEE CLOUD COMPUTING, 2015, 2 (01): : 48 - 58