Challenge Overview
Unreliable software places huge costs both on the military and the civilian economy. The current state of practice contains about one to five bugs per thousand lines of code. Formal program verification is the only way to be certain that a given piece of software is free of errors that could disrupt military operations in the field. Formal verification is currently done manually by specially-trained engineers. Consequently, formal verification has been too costly to apply beyond small, critical software components.
The Crowd Sourced Formal Verification (CSFV) program seeks to make formal program verification more cost-effective by reducing the skill set required for verification. The approach is to transform verification into a more accessible task by creating a game that reflects the code model, is intuitively understandable, and is fun to play. Completion of the game effectively helps the program verification tool complete the corresponding formal program verification proof.
The CSFV Community Gaming website project will provide the web site infrastructure and integration of the games. This will be a web site that is available on the Internet, and also will be delivered in a form where the server and the games can be installed and used behind a firewall.
This architecture designs a full featured Wiki application using Node.js and Express framework.
This component provides the functionality that processes the wiki markup text to generate the rich text in HTML and extract the plain text from wiki markup tex.
Final Submission Guidelines
Unit Testing
Unit tests are required making use of Mocha framework.
Automated build scripts and code quality check
Here is how we want to address this :
- You must use Jake build tool
- Follow this git link as it is for how to build jake tasks for build, tests, coverage ..etc, you should use the file /build/lint/lint_runner.js as it is for building the js files using Lint, you need to cover most of the tasks mentioned in jakefile.js file, you must strictly follow the lint options listed in globalLintOptions method of that jakefile.js
- You must create jake.sh for unix and jake.bat for windows as in the git link is doing
- No ant should be used
Folder Structure
- moduledir/
- controllers/
- services/
- models/
- node_modules/
- views/
- confg/
- docs/
- package.json
- config.js
- loader.js
- app.js
- jakefile.js
- jake.sh
- jake.bat
- tests/
- build/