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 条
  • [11] Architectural Complexity of Large-Scale Software Systems
    Lilienthal, Carola
    13TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING: CSMR 2009, PROCEEDINGS, 2009, : 17 - 26
  • [12] Cooperative work in large-scale software systems
    Belkhatir, N
    Estublier, J
    Melo, WL
    JOURNAL OF SOFTWARE MAINTENANCE-RESEARCH AND PRACTICE, 1994, 6 (06): : 319 - 335
  • [13] ACHIEVING RELIABILITY IN LARGE-SCALE SOFTWARE SYSTEMS
    SCHICK, GJ
    WOLVERTON, RW
    PROCEEDINGS ANNUAL RELIABILITY AND MAINTAINABILITY SYMPOSIUM, 1974, 7 (02): : 302 - 319
  • [14] Architectural complexity of large-scale software systems
    Software Engineering Group, University of Hamburg, C1 WPS GmbH, Germany
    Proc. Eur. Conf. Software Maint. Reeng., (17-26):
  • [15] Engineering Large-Scale Observation Software Systems
    Lamb, David
    Randles, Martin
    Taleb-Bendiab, A.
    2009 SECOND INTERNATIONAL CONFERENCE ON DEVELOPMENTS IN ESYSTEMS ENGINEERING (DESE 2009), 2009, : 266 - 272
  • [16] Load Testing Large-Scale Software Systems
    Jiang, Zhen Ming
    2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, Vol 2, 2015, : 955 - 956
  • [17] Locally cold flows from large-scale structure
    Aragon-Calvo, M. A.
    Silk, J.
    Szalay, A. S.
    MONTHLY NOTICES OF THE ROYAL ASTRONOMICAL SOCIETY, 2011, 415 (01) : L16 - L20
  • [18] Program understanding behaviour during enhancement of large-scale software
    vonMayrhauser, A
    Vans, AM
    Howe, AE
    JOURNAL OF SOFTWARE MAINTENANCE-RESEARCH AND PRACTICE, 1997, 9 (05): : 299 - 327
  • [19] Program understanding behaviour during enhancement of large-scale software
    Von Mayrhauser, Anneliese
    Vans, A.Marie
    Howe, Adele E.
    Journal of Software Maintenance, 1997, 9 (05): : 299 - 327
  • [20] SOFTWARE RELIABILITY AND MAINTAINABILITY IN LARGE-SCALE SYSTEMS.
    Strong III, Edward J.
    1978, : 755 - 760