当前位置: X-MOL 学术Empir. Software Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Understanding large-scale software systems – structure and flows
Empirical Software Engineering ( IF 3.5 ) Pub Date : 2021-03-31 , DOI: 10.1007/s10664-021-09938-8
Omer Levy , Dror G. Feitelson

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.



中文翻译:

了解大型软件系统–结构和流程

程序理解占软件开发成本和工作量的很大一部分。学术文献主要包括对短代码片段的程序理解的研究,但是在系统级别的理解也同样重要。我们声称理解软件系统是一项与代码理解不同的独特活动。我们采访了软件行业和开放源代码社区中经验丰富的开发人员,架构师和经理,以了解系统级程序理解的含义;后来我们进行了一项调查,以验证结果。访谈表明,除其他事项外,系统理解在很大程度上与代码和编程语言无关,并且包含了代码未捕获的范围。它一方面专注于系统的结构,另一方面,它涉及系统中的流,而涉及代码本身的则更少。系统理解是一个连续,无止境的迭代过程,它根据需要在系统的不同层利用白盒和黑盒方法,并结合了自下而上和自上而下的理解策略。综上所述,理解系统不仅是大规模地理解代码,而且不可能以与理解代码相同的级别来理解大型系统。

更新日期:2021-03-31
down
wechat
bug