AN ASSESSMENT OF TOOLS TO ASSIST NEW C PROGRAMMERS IN FINDING BUGS
The C programming language offers a high degree of control and freedom to programmers. This makes it a powerful tool, but it also gives the language a steep learning curve. One difficulty that many new C programmers face is in figuring out how to analyze and debug their code, as well as the output...
Main Author: | |
---|---|
Format: | Others |
Published: |
OpenSIUC
2019
|
Subjects: | |
Online Access: | https://opensiuc.lib.siu.edu/theses/2541 https://opensiuc.lib.siu.edu/cgi/viewcontent.cgi?article=3555&context=theses |
Summary: | The C programming language offers a high degree of control and freedom to programmers. This makes it a powerful tool, but it also gives the language a steep learning curve. One difficulty that many new C programmers face is in figuring out how to analyze and debug their code, as well as the output. There exists a variety of tools that can be used to assist in debugging. They can offer aid by identifying certain types of errors and by providing meaningful output that helps the user understand and correct those errors. The following seven debugging tools have been tested and analyzed in order to ascertain when and how each one of them might be most useful: Valgrind, GCC Address Sanitizer, Clang Address Sanitizer, Mtrace, Memwatch, Electric Fence, and Dmalloc. They have been tested using anonymous code submitted by actual students for C programming labs in order to see how many errors, and of which sort, each tool catches. The results of these tests, as well as their implications, are presented here. |
---|