Development
Scilab is mainly developed by Scilab Enterprises... but your participation is welcome !
Feel free to browse the "Useful links" on the right, and in particular report bugs that you may encounter.
Our quality process is also based on:
Code quality
- Coding style is defined for all languages used in Scilab (C, C++, Java, XML, Scilab, Makefiles, ...)
- Checkstyle is available for Java under Eclipse
- Code must be documented (comments using Javadoc, Doygen, ...)
As in the case of new functionality implementation, each modification in Scilab code is reviewed and accepted by another developer.
Tests
- Unit tests (~1300): each new functionality is only integrated if it has a corresponding test and this test execution runs properly under all Scilab supported platforms,
- Non-regression tests (~1900): for each bug fix, a test is written to ensure its proper correction and prevent any future regression,
- Code coverage tools are used to check the tests quality.
Binary version generation
- Each commit into Scilab GIT repository launches a continuous integration process based on Jenkins,
- Daily build of Scilab binary through a nightly build process executes all unitary tests and non-regression tests under all supported platforms,
- Various compilers are supported (Visual Studio, Intel, GCC, Clang, ...).
Community-suggested functionalities
Functionalities can be proposed by the community using the following process:
- Specifications drafting: SEP (Scilab enhancement proposal),
- Respect of Scilab coding style for development,
- Writing of unitary tests are written,
- Writing of corresponding help page.
The functionality is integrated only after being reviewed and validated by another developer.
Useful Links
Bug Reports:
bugzilla.scilab.org
Dashboards:
Build chain (Jenkins)
Compilation & Test chain
Coverage/quality analysis (coverity)
Code management:
Code review (Gerrit)
Code repository (Git)