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
|