how to automatically identify errors in the output of checkcode
Show older comments
Hi,
my project comprises thousands of matlab functions, some of them created automatically... I need a way to check that there is no error in any of them... obviosuly without having to open them one by one!
Unfortunately, the structure created by mlint (now checkcode) does not output explicitely which entries represent errors and which warnings.
The only apparent way to achieve what I want is with the .id field that details the code of each of the entry of the structure, but I do not know where they have been defined... is there any documentation of that?
1 Comment
Florian Osterloh
on 13 Aug 2020
Did you find any soloution I need this as well ?
Answers (2)
Tejaswini Veduruvada
on 23 Mar 2020
0 votes
You can refer to the below documentation link on how to use “checkcode” function to find possible errors :
Steven Lord
on 13 Aug 2020
0 votes
Generally speaking, a Code Analyzer red message (error) will prevent the code from executing.
So if you have tests for the large number of functions that make up your project, running those tests should detect Code Analyzer red messages.
5 Comments
Arabarra
on 31 Dec 2020
Steven Lord
on 31 Dec 2020
Suppose you had a function:
function y = multiply(a, b)
y = a+b;
end
That's perfectly legal code to write. Code Analyzer will not flag anything about that function. But logically that function is completely wrong. The only automated way to detect that logical error in the code is to run it and check the answers the function returns, and one way to do that (which will also detect red Code Analyzer errors) is to write tests.
Arabarra
on 12 Jan 2021
Matt Butts
on 12 Mar 2021
I was looking for this same thing, and while I agree that writing tests will capture this as well, I have some functions that use GUI elements and just don't run nicely in my CI system. For those, I would like to check this using checkcode.
Here is what I did though:
- Create a code analyzer settings file using the menu under Preferences -> Code Analyzer
- I used the filters to turn everything off (disable)
- I then filtered to just errors and set them to on (enable)
- I saved that as a settings file
- Call checkcode using the -config option: checkcode('myfunc','-config=onlyErrors.txt')
Arabarra
on 18 Mar 2021
Categories
Find more on Identify Code Issues in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!