SEARCH FINANCIAL SERVICES INFRASTRUCTURE SECURITY SCIENCE INTERVIEWS

 

     

Sider Recommended Rules for C/C++ Analysis Tool GA

January 11, 2021

Sider, a developer and provider of software development support tools, has created an optimized recommended coding guide 'Recommended Rules' and has integrated them to its automated code review service. By analyzing hundreds of existing coding guidelines, this guide contains only the essential rules followed by many open-source projects and was developed based on joint research with Professor Shingo Takada of the Department of Information Engineering, Faculty of Science and Technology, Keio University and Associate Professor Seigo Nakura of the Department of Software Engineering, Faculty of Science and Technology, Nanzan University.

The Recommended Rules were created by extracting coding guides that were being applied to 1,000 well-known and actively developed open-source software projects, and by analyzing source code and its development histories. By applying these new rules, Sider's automated code review generates suggestions of greater relevance and importance, lending itself to greater productivity for software development efforts.

The Recommended Rules are currently applicable to the C/C++ analysis tool (cpplint) for Sider. It is also in the process of being applied to languages such as Java, Ruby, and JavaScript. Other languages will be supported in due course. 

Programming languages for which Recommended Rules can be applied

  • C/C++
  • Java (will be applied soon)
  • JavaScript (will be applied soon)
  • Ruby (will be applied soon)
  • Ruby (will be applied soon)
  • TypeScript (will be applied soon)

Programming languages to be supported

  • C#
  • CSS
  • Golang
  • Kotlin
  • Python
  • PHP
  • Swift
  • Shell script

Research background

Coding guides were created and published for the purpose of maintaining high code quality in software. Adhering to these rules is expected to provide benefits such as deterring bugs, improving readability and maintainability, and preventing security vulnerabilities. However, the rules set forth in these various coding guides also have varying degrees of importance. For example, in programming languages where " and ' can be utilized equally, there are guides that include rules that specify which one should be used in principle. While following the rules during development is expected to make things easier for the development team, it is not clear whether applying these rules to code that is already completed is worth the effort. In some teams/projects, the decision is made not to unify as it does not contribute to productivity.

Recommended Rules was created as a coding guide that is useful for any project. By first introducing this guide into a project, and then enabling other necessary rules according to the project, it will be easy to set up and operate the guide according to the project.

In creating Recommended Rules, Sider collaborated with Professor Shingo Takada of the Department of Information Engineering, Faculty of Science and Technology, Keio University, and Associate Professor Seigo Nakura of the Department of Software Engineering, Faculty of Science and Technology, Nanzan University. Research content is scheduled to be released in the form of research papers.

Reference papers, posters, etc.

  • Toru Kurashige, Kentaro Suetsugu, Koichiro Sumi, Masataka Nagura, Shingo Takada, Akihiro Asahara: A Survey of Coding Convention Violations in OSS, Software Engineering Symposium 2020 (SES2020), Poster Session (September 2020)
  • Masataka Nagura, Kensuke Taguchi, and Shingo Takada: A Method for Predicting Defects in Software Changes Based on Coding Convention Violation Metrics, Transactions of Information Processing Society of Japan, Vol. 61, No. 4, pp. 895-907 (Apr. 2020) (in Japanese).

Joint research partners

  • Shingo Takada, Professor at Takata Laboratory, Department of Information Engineering, Faculty of Science and Technology, Keio University
  • Masatake Nagura, Associate Professor at Department of Software Engineering, Nanzan University

Terms of Use | Copyright 2002 - 2021 CONSTITUENTWORKS SM  CORPORATION. All rights reserved. | Privacy Statement