Menu

Tree [r220] /
 History

HTTPS access


File Date Author Commit
 branches 2013-04-15 allura [r1] Initial commit
 tags 2013-04-15 allura [r1] Initial commit
 trunk 2014-05-10 alessio-gaspar [r220] BUG FIX - ghost hits on tutorials not from db-p...
 readme.txt 2013-04-16 alessio-gaspar [r13] toplevel readme.txt update

Read Me

This svn repository is for the development of the "NED" web app. 

"NED" stands for Novice Error Detection. It is based on SyntaxAnalyzer.py
implemented originally as part of the CLUE client. 

SyntaxAnalyzer.py parses students' source files in search for pre-defined 
"novice errors" & reports warnings. In the CLUE client, some of these warnings, 
along with the errors & warnings reported by GCC, are then hyperlinked to tutorials. 
Our objective is to clarify the most obfuscated warnings / errors messages while 
helping students understand the bad programming habits or bugs triggering them. 

After a few years, of development & usage with our own students, it became obvious 
that others might be interested in leveraging these features without having to adopt
the whole CLUE client/server software which also serves as an assignment manager
& assitant to grading. 

To address this issue, SyntaxAnalyzer.py has been extracted from the CLUE
client and integrated in a simple web app. "NED" uses it, along with other tools, 
to analyze the student's files. The result is a multi-tool analysis which generates
warning on possible errors. For this version, "NED" is relying on the following
tools to generate these reports;
	. GCC with suitable warning options enabled 
	. Splint
	. CPPCheck
	. CLUE SyntaxAnalyzer.py

The errors & warnings reported by these tools are then filtered so that we may hyperlink 
the most relevant to tutorials. No matter which tool detects an uninitialized variable, 
students will receive links to the relevant tutorial. 

We hope "NED" will be useful to both instructor & students by serving as a "one stop" site 
for validating your programs with a simple web page. Refer to the project's webpage
for more information on where to use it directly on the web; http://clue-ide.sourceforge.net/