The primary use case for this solution is to ensure that we do not have any errors and to get Misra and Autosar Compliance.
What is our primary use case?
How has it helped my organization?
This solution helps new developers get up to speed with the Autosar, Misra C and C++ standards quickly. As an example, if they see that they are violating a rule, they can look it up. Whereas giving them a standard to read or even code guidelines without some sort of reinforcement tools, they can't follow it.
What is most valuable?
The most valuable feature in this solution is the static code analysis. They use abstract analysis to find errors, such as out of area addressing and divide by zero errors.
What needs improvement?
One of the issues we have is commenting. When something is not a defect in the code, for an example. Adding a comment for that line, or if the comment has two or three lines, it can be difficult.
Simulating a real-time operating system and firmware can be quite difficult if you're doing multiple threading in different entry points. If you're not using the same macros for critical sections, it can also be a little bit tedious to get around.
I would like to see better command-line tools that we can interface it with.
We would like to see support for a continuous integration build environment.
The reports in this solution could be made cleaner.
For how long have I used the solution?
I have been using this solution for one year.
What do I think about the stability of the solution?
The new version of this solution was stable.
There were some issues with the previous installations, where the files would hang. However, to date, we have not had any issues with stability.
Due to some time constraints, we've been forced to put some of the more stringent tests on hold and we haven't had time to integrate.
The idea is that essentially all of the software would have to go through at least the Bug Finder part, not necessarily the Misra or the Autosar part, then C and C++ before we deploy it.
The data is intended for use in the CNC Autostar program that we have developed. With that definitely, we intend to use it extensively.
What do I think about the scalability of the solution?
We use embedded systems. Because our programs, by definition, and also with Autosar, are quite small, I am not confident with the scalability. It does seem that it is tricky to scale.
Most of our users are software developers on embedded systems, sometimes quite young and inexperienced, while others have five to ten years of experience.
Currently, we only have eight people using this tool. We lost some due to a recent turnover, and they haven't been replaced.
How are customer service and technical support?
We have a local supporter of optimum solutions.
We usually approach them for support, but so far, we haven't had any major issues.
Which solution did I use previously and why did I switch?
Previously I used a solution called PC-Lint. It does not have code analysis functionality. Rather, it is mostly for compliance. Not only is there no abstract analysis, but the interface was terrible. Trying to find out what the bug was, was also terrible. You had to manually open a file and scroll down to the line numbers.
How was the initial setup?
The initial setup was straightforward and getting the basic program running was also straightforward.
The deployment model we use is on-premises.
The deployment took an hour. We had the most difficulty with getting it working with the automatic bot tools, and we are not even sure if we have completely automated that yet. If you add a new file it would automatically add it to the project.
What about the implementation team?
We implemented this solution ourselves without the help of vendors.
What's my experience with pricing, setup cost, and licensing?
This is not an expensive solution for what it offers, as there are other tools that are significantly more expensive.
Which other solutions did I evaluate?
We evaluated LDRA, which was more for NCDC testing and code coverage. It also does Misra testing, but at the time we felt that it was too expensive and we didn't have the resources required to fully use the tool. It's a fantastic tool in terms of the testing and verification of your program, but we don't have a dedicated test team that we could employ for that. We were specifically looking for a bug finder and an abstract analysis tool. We already had MATLAB, and Polyspace seemed to work well for what we had tested and the price. It was a no brainer.
There are other open-source tools that we could use, but from those that we tested, the interface is a bit tricky. They support, at most, one or two compiles. In the end, for what we've got it's a decent price.
What other advice do I have?
I would rate this solution a seven out of ten.
