This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

software quality - what do you use

just curious folks to what folk use to help develope their software with.

I am an avid user of lint and having a go at trying to design what i am gonna do before i start being a code monkey but would like to find out what others are using.

Recently downloaded Tessy but as i get the feeling trying to apply it to an exsisting project will be a huge project its self and as the vendors havent been rushing to reveal the price cost may be an issue.

Does anybody have any recomendations on tools they find useful?

Parents Reply Children
  • Its very easy to produce code that has no compiler warnings and very few lint warnings and still be wrong through an over sight of a exceptional conditions. Especially if your working to tight deadlines.

    I am not convinced just claiming to use you head will produce code of better than average quality - I work with gents that claim its been working for years and the user has not found an issue the code must be good "quality" eg fit for purpose. But in reality it could be restarting on a regular basis unseen by the user or occasionally missing important triggers that do not have huge consequences. There are no metrics you could use to prove to others you have been "professional and carried out due diligence"

    Code generation seems to be rearing its head more and more but one thing I am more intersted in is proving the design actually does what I think.

    Having a tool to design on is okay but when the oppertunity for the source code to be modifed away from the design tool occurs and the design is not updated and things start to diverge. I have expereienced situations where the deisgn tool is no longer used after the intail design has been started.

    So apart from Andrews suggestion and using lint no body uses any verification or design tool
    at all?

    my inital thought is yes I understand its expensive and time consuming and like many others I expect you have experience of products that do not "fail" but my concern is I am now working with projects with micros with a meg of flash and its not just simple monitoring IO or comms via CAN messages the complexity is growing expenetially. Not something that was a problem when it was micro with 4K of flash and 192 bytes of ram.

  • By 'using my brain' I meant investigating, being careful and checking.

    For example, in your last response I saw the following errors:

      intersted
      oppertunity
      expereienced
      intail
      expenetially
    

    Some people may need tools to check simple mistakes like these, others might not.

    Of course, the requirements of metrics may depend upon such things as the size of the project, the number of developers involved and their own individual abilities.

    On some reasonably sized projects, brain power can still be the best tool.

    Well, that's my opinion anyway.

  • ah you got me - could be your right, maybe I do just need simple tools and shouldnt bother with others.

  • So apart from Andrews suggestion and using lint no body uses any verification or design tool
    at all?

    Automated verification would be nice. That would mean functionality tests on pieces of code. With MCU's this can prove to be difficult. For instance, to verify the functionality of a pulse generator, you'd have to hook up a scope to the circuit and check the timings. I cannot see how this can be automated without unreasonable amount of work. I think this is a typical example.

  • Yes I had similar thoughts when I looked at the youtube vids about TESSY.

    The amount of work required to set up the functional tests is huge and not something you can easily retrospectively apply to an existing project and thats before making sure the hardware is doing the right thing.

  • Yes I had similar thoughts when I looked at the youtube vids about TESSY.

    The amount of work required to set up the functional tests is huge

    were I to design a simple toy. "it works" would be a sufficient test
    were I to desgin a pacemaker .........

    I think for "life challenging" designs setting up tha maximum possible automated testing is mandated. If you for a "life challenging" design use manual testing, you WILL test too little when a "must be fixed and released immeditely" bug appear.

    Erik

  • www.medicaldesignbriefs.com/.../11334

    it is sad that the FDA find faults in medical devices that the producers easily could have found themselves.

    I wonder how anyone can live with themself and know that a medical device they make could be safer.

    Erik

  • everything is relative

    Absolutely.

    There are so many elements to the equation. A simple universal yes/no response to the question of whether it is needed is just not sensible.

    As I mentioned before, the abilities of the team members must be taken into account.

    The simple task of being careful and being able to check one's own work is a key component that should not be overlooked.

    With all due respect to Erik, there were two typos I spotted in that last response; and that was just with a quick scan. That works out at quite a high percentage of error in such a few lines of text. Now if those errors were in code, ouch!

  • ostatic.com/.../when-should-open-source-be-written-into-law

    Last August Karen Sandler, the executive directory of the GNOME foundation gave a short talk about her implanted defibrillator, a device which can shock her heart to revive her if it stops functioning. After hearing the news that she would need to wear the device, she asked the manufacturer for the source code, and was denied. To make matters worse, she found that the FDA does not review or have access to the source code. She also found that she had no legal recourse against the manufacturer to force them to release their code. To top it all off, the manufacturer ignored her Freedom Of Information Act request. Twice.

    Karen wished to know how the device implanted on her heart functions. Since her life, quite literally, depends on the device functioning as advertised when she needs it. Software has bugs, and since the source code is not reviewed by anyone outside of the company, Karen’s understanding of how software works increases her anxiety. Karen is obviously not the only person with one of these devices implanted, but her story is a good starting point for discussing when and where releasing source code for public scrutiny should be mandated by law. American lawmakers have the time to discuss how the public should have access to movies, isn’t the public health and safety far more important?

  • American lawmakers do not have time to discuss public health and safety. They have to pass those types of bills into law to find out what's in them.

  • something does not match

    the article I linked to above refer to the FDA reviewing (with a tool) source code of medical devices.

    To make matters worse, she found that the FDA does not review or have access to the source code. She also found that she had no legal recourse against the manufacturer to force them to release their code.

    when and where releasing source code for public scrutiny should be mandated by law.

    I am all for requiring the FDA to be (qualified at and) forced to review source code. I am, however totally against anyone else having access.

    There has been enough good producers that have lost out to oriental copycats, let us not make it easier for the copycats,.

    yah, yah, yah the FDA might, if the chineese sought approval, see it was a knockoff, but the FDA is not "copyright police". Also, I would not have a (technical) problem if tasked with redoing a code to make it unrecognizable, I would, however refuse for ethical reasons.

    Erik

  • Why limit it to just the software source code?

    Such source code is meaningless without the hardware design details.

    And what about all the design data for the components, and the manufacturing processes, and...

  • no such limit, just the subject of the post I replied to was some woman wanting the source code.

    Erik

  • I have sent code, and lots lots lots of documentation for certification. There can be huge amounts of requirements for the certification process when human safety is involved.

    But no, I do not thing the general public should have access to all that information. That would stop private companies from being interested in creating such products. And we already know that the government are not so good at being the creators/owners of high-tech products. Why create something new, if something 30 years old will (just barely) manage? Why invest money? First it's a cost to develop. Then it's a cost when people wants to get their old gear replaced with newer, smaller, gear.

    A company will only be interested in developing equipment if they know they can reap the profit of their investments. And that requires that their information sent in for certification is handled in a safe way.

    And as already mentioned - source code is only meaningful to look at if you have access to the full hw specification. For a heart starter, you need to know everything to even be able to compute charge levels, battery consumption, ...

  • Some-one recommended me this book:

    "Test Driven Development for Embedded C"
    pragprog.com/.../test-driven-development-for-embedded-c

    Might be worth a read.