User Tools

Site Tools


a_development_chain_to_build_reliable_software

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
a_development_chain_to_build_reliable_software [2015/12/20 18:14]
sgripon [Improving the Quality of legacy source code]
a_development_chain_to_build_reliable_software [2016/04/16 11:20] (current)
sgripon
Line 1: Line 1:
 ====== A development chain to build reliable software ====== ====== A development chain to build reliable software ======
 +~~socialite~~
  
 Automation is a really important point to build reliable software. There are many tools available to do the job, and most of them are open-source. Automation is a really important point to build reliable software. There are many tools available to do the job, and most of them are open-source.
Line 68: Line 69:
  
 In terms of ergonomics, the tool is again well done: the ReviewBoard code viewer supports syntax coloring and reading the code and modifications is nice: we can really concentrate on the review without having to worry about the tool. In terms of ergonomics, the tool is again well done: the ReviewBoard code viewer supports syntax coloring and reading the code and modifications is nice: we can really concentrate on the review without having to worry about the tool.
 +===== Coding Standard Checking =====
 +
 +It is important to define a coding standard for developing your software. And it is also really important to check the coding standard is applied.
 +
 +To avoid doing too much checking by peer reviews, which is time consuming, it is easy to integrate home made scripts in the continuous integration system. Most of the time, using simple regular expressions in the source code can help to find errors.
 +
 +I also experienced successfully this kind of script to verify that the software architecture is not broken. For example, if yout software is organized as a Model-View-Controller pattern (MVC) and models, views and controllers are in different folders, it is easy to check that there is no view file included in a model file.
 +
 ===== Improving the Quality of legacy source code ===== ===== Improving the Quality of legacy source code =====
  
Line 78: Line 87:
   - When there are no remaining warnings, modify your compilation flags to consider warnings as errors   - When there are no remaining warnings, modify your compilation flags to consider warnings as errors
  
-Communicate this rule to your developers, and you will see the number of warnings decrease until reaching ​O. It can take several weeks or several month, depending of your software.+Communicate this rule to your developers, and you will see the number of warnings decrease until reaching ​0. It can take several weeks or several month, depending of your software. 
 + 
 +**Share this page:**
  
-~~socialite:icon twitter facebook linkedin googleplus~~+~~socialite~~
  
 ====== Resources ====== ====== Resources ======
  
-  * [[https://​www.usenix.org/​conference/​hotdep12/​workshop-program/​presentation/​holzmann|Mars Code]]: a very good conference by Gerard Holzmann from JPL at NASA. It deals with the software used to send Opportunity ​to Mars.+  * [[https://​www.usenix.org/​conference/​hotdep12/​workshop-program/​presentation/​holzmann|Mars Code]]: a very good conference by Gerard Holzmann from JPL at NASA. It deals with the software used to send the Curiosity rover to Mars.
   * [[http://​www.gamasutra.com/​view/​news/​128836/​InDepth_Static_Code_Analysis.php|In-Depth:​ Static Code Analysis]] by John Carmack.   * [[http://​www.gamasutra.com/​view/​news/​128836/​InDepth_Static_Code_Analysis.php|In-Depth:​ Static Code Analysis]] by John Carmack.
a_development_chain_to_build_reliable_software.1450631662.txt.gz · Last modified: 2015/12/20 18:14 by sgripon