An investigation of misunderstanding code patterns in C open-source software projects

被引:0
|
作者
Flávio Medeiros
Gabriel Lima
Guilherme Amaral
Sven Apel
Christian Kästner
Márcio Ribeiro
Rohit Gheyi
机构
[1] Federal Institute of Alagoas (IFAL),
[2] Federal University of Alagoas (UFAL),undefined
[3] Universität Passau,undefined
[4] Carnegie Mellon University (CMU),undefined
[5] Federal University of Campina Grande (UFCG),undefined
来源
Empirical Software Engineering | 2019年 / 24卷
关键词
Misunderstanding patterns; Repository mining; Survey;
D O I
暂无
中图分类号
学科分类号
摘要
Maintenance consumes 40% to 80% of software development costs. So, it is essential to write source code that is easy to understand to reduce the costs with maintenance. Improving code understanding is important because developers often mistake the meaning of code, and misjudge the program behavior, which can lead to errors. There are patterns in source code, such as operator precedence, and comma operator, that have been shown to influence code understanding negatively. Despite initial results, these patterns have not been evaluated in a real-world setting, though. Thus, it is not clear whether developers agree that the patterns studied by researchers can cause substantial misunderstandings in real-world practice. To better understand the relevance of misunderstanding patterns, we applied a mixed research method approach, by performing repository mining and a survey with developers, to evaluate misunderstanding patterns in 50 C open-source projects, including Apache, OpenSSL, and Python. Overall, we found more than 109K occurrences of the 12 patterns in practice. Our study shows that according to developers only some patterns considered previously by researchers may cause misunderstandings. Our results complement previous studies by taking the perception of developers into account.
引用
收藏
页码:1693 / 1726
页数:33
相关论文
共 50 条
  • [1] An investigation of misunderstanding code patterns in C open-source software projects
    Medeiros, Flavio
    Lima, Gabriel
    Amaral, Guilherme
    Apel, Sven
    Kastner, Christian
    Ribeiro, Marcio
    Gheyi, Rohit
    EMPIRICAL SOFTWARE ENGINEERING, 2019, 24 (04) : 1693 - 1726
  • [2] Decoding Code Quality: A Software Metric Analysis of Open-Source JavaScript Projects
    Mohammad, Suzad
    Al Jobair, Abdullah
    Abedeen, Iftekharul
    International Conference on Evaluation of Novel Approaches to Software Engineering, ENASE - Proceedings, 2024, : 63 - 74
  • [3] Investigation of the Software Code Vulnerabilities' Impact on the Popularity of Open Source Software Projects
    Singh, Madanjit
    Saini, Munish
    Kaur, Manevpreet
    JOURNAL OF INFORMATION TECHNOLOGY RESEARCH, 2021, 14 (03) : 58 - 69
  • [4] On the nature of code cloning in open-source Java projects
    Golubev, Yaroslav
    Bryksin, Timofey
    arXiv, 2021,
  • [5] Effects of Empowerment on Performance in Open-Source Software Projects
    Ke, Weiling
    Zhang, Ping
    IEEE TRANSACTIONS ON ENGINEERING MANAGEMENT, 2011, 58 (02) : 334 - 346
  • [6] On the usefulness of ownership metrics in open-source software projects
    Foucault, Matthieu
    Teyton, Cedric
    Lo, David
    Blanc, Xavier
    Falleri, Jean-Remy
    INFORMATION AND SOFTWARE TECHNOLOGY, 2015, 64 : 102 - 112
  • [7] Data on security requirements in open-source software projects
    Wang, Wentao
    Mahakala, Kavya Reddy
    Gupta, Arushi
    Hussein, Nesrin
    Wang, Yinglin
    DATA IN BRIEF, 2019, 25
  • [8] Risk Management in Projects Based on Open-Source Software
    Nguyen Duc Linh
    Phan Duy Hung
    Vu Thu Diep
    Ta Duc Tung
    2019 8TH INTERNATIONAL CONFERENCE ON SOFTWARE AND COMPUTER APPLICATIONS (ICSCA 2019), 2019, : 178 - 183
  • [9] Evolution Model of Open-Source Software Projects in GitHub
    Wang, Hongbing
    Ji, Haoran
    2022 2ND IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND ARTIFICIAL INTELLIGENCE (SEAI 2022), 2022, : 135 - 145
  • [10] Exploiting Open-source Projects to Study Software Design
    Fuhrman, Christopher P.
    INFORMATICS IN EDUCATION, 2007, 6 (01): : 53 - 66