Exploring Violations of Programming Styles: Insights from Open Source Projects

被引:5
|
作者
Yang, Chunyu [1 ]
Liu, Yan [1 ]
Yu, Jia [2 ]
机构
[1] Tongji Univ, Sch Software Engn, 4800 Caoan Highway, Shanghai, Peoples R China
[2] SEEBURGER China Inc, Shanghai, Peoples R China
关键词
Programming style; Static source code analysis; Code review;
D O I
10.1145/3297156.3297227
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Software project is usually a huge cooperative teamwork, programmers in the project usually have to read the code written by others and understand its implementation. A uniform and clean programming style could ensure the readability and maintainability of the project source code, especially when it becomes a legacy project. However, each programmer has his own programming habit and because of the heavy developing tasks, the programming style of the software project is far from satisfactory. Programming style does not resemble software defects which has a serious effect on program executing. Therefore, many programmers ignore the programming style directly instead of improving it. Programming style should be checked before new features are merged into software projects, just like software testing. Developing with the size of software project, some special programming style rules are violated more seriously, which need be highly focused. Furthermore, one of ultimate targets in software quality engineering is to check the programming style automatically with analysis tools because the software projects usually have an enormous quantity of source code. In this paper, static source code analysis is used for detecting the programming style problems. The source file directly or the. class files generated by the compiler are scanned then the abstract syntax tree for the source code is generated. With the help of abstract syntax tree, it is possible to detect code snippets that violate the programming style rules by traverse the tree. Our method employs the static code analysis tools to analyze several Java open source projects, and find that the programming style problems which are violated most. According to our method, each problem is also explained from personal habits, JDK version, and other aspects later. Considering all of the analysis results, a special ruleset that is recommended to pay more attention to in the future software developing is proposed. At last, programming style should be highly valued in software development processes in further project management.
引用
收藏
页码:185 / 189
页数:5
相关论文
共 50 条
  • [1] An Empirical Study of License Violations in Open Source Projects
    Mathur, Arunesh
    Choudhary, Harshal
    Vashist, Priyank
    Thies, William
    Thilagam, Santhi
    [J]. PROCEEDINGS OF THE 2012 IEEE 35TH SOFTWARE ENGINEERING WORKSHOP (SEW 2012), 2012, : 168 - 176
  • [2] Open Source Projects in Programming Courses
    Pedroni, Michela
    Bay, Till
    Oriol, Manuel
    Pedroni, Andreas
    [J]. SIGCSE 2007: PROCEEDINGS OF THE THIRTY-EIGHTH SIGCSE TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2007, : 454 - 458
  • [3] A framework for evaluating managerial styles in open source projects
    Capra, Eugenio
    Wasserman, Anthony I.
    [J]. OPEN SOURCE DEVELOPMENT, COMMUNITIES AND QUALITY, 2008, 275 : 1 - +
  • [4] Exploring Open Source to Understand Large Software Projects
    Hislop, Gregory W.
    Ellis, Heidi J. C.
    [J]. PROCEEDINGS OF THE 2024 CONFERENCE INNOVATION AND TECHNOLOGY IN COMPUTER SCIENCE EDUCATION, VOL 2, ITICSE 2024, 2024, : 816 - 816
  • [5] Insights into Female Contributions in Open-Source Projects
    Champa, Arifa I.
    Rabbi, Md Fazle
    Zibran, Minhaz F.
    Islam, Md Rakibul
    [J]. 2023 IEEE/ACM 20TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES, MSR, 2023, : 357 - 361
  • [6] The impact of leadership styles and motivations: lessons from Open Source Software projects for educational organizations
    Jose Racero, F.
    Bueno, Salvador
    Dolores Gallego, M.
    [J]. TECHNOLOGY ANALYSIS & STRATEGIC MANAGEMENT, 2022, 34 (12) : 1449 - 1463
  • [7] Localized Open Source Software Projects Exploring Realism and Motivation
    Buffardi, Kevin
    [J]. 2016 11TH INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE & EDUCATION (ICCSE), 2016, : 382 - 387
  • [8] Exploring Knowledge Loss in Open Source Software (OSS) Projects
    Rashid, Mehvish
    Clarke, Paul M.
    O'Connor, Rory V.
    [J]. SOFTWARE PROCESS IMPROVEMENT AND CAPABILITY DETERMINATION, SPICE 2017, 2017, 770 : 481 - 495
  • [9] Identifying Emergent Leadership in Open Source Software Projects Based on Communication Styles
    Huang, Yuekai
    Yang, Ye
    Wang, Junjie
    Zheng, Wei
    Wang, Qing
    [J]. 2023 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING, SANER, 2023, : 73 - 84
  • [10] Monitoring Programming Styles in Massive Open Online Courses Using Source Embedding
    Matsrostefano, Stefano
    Sciarrone, Filippo
    [J]. 2022 26TH INTERNATIONAL CONFERENCE INFORMATION VISUALISATION (IV), 2022, : 245 - 250