Top five Embedded Software Problem Areas

Top five Embedded Software Problem Areas - Hallo gues welcome to my blog, you can read this article with title Top five Embedded Software Problem Areas, Happy reading

IMPORTANT, MUST BE READ... : Top five Embedded Software Problem Areas
Title : Top five Embedded Software Problem Areas

Read More


Top five Embedded Software Problem Areas

IMPORTANT, MUST BE READ... The biggest problems I view inwards manufacture code reviews are code complexity, existent fourth dimension performance, code quality, weak evolution process, in addition to dependability gaps. Here's an index into spider web log postings in addition to other sources that explains the problems in addition to how to bargain amongst them.

-----------------------------

Several times a yr I wing or drive (or webex) to see an embedded organisation blueprint squad in addition to hand them to a greater extent than or less feedback on their embedded software. I've done this perchance 175 times thence far (and counting). Every projection is unlike in addition to I enquire unlike questions every time. But the next are the tiptop v areas I've constitute that demand attending inwards the by few years.  "(Blog)" pointers volition transportation you lot to my previous spider web log postings on these topics.

(Don't lady friend our growing video tutorial library that covers to a greater extent than or less of these issues.)

How does your projection hold off through the lens of these questions?

(1) How is your code complexity?
  • Is all your code inwards a unmarried .c file (single huge main.c)?
    • If so, you lot should interruption it upwardly into to a greater extent than bite-sized .c in addition to .h files (Blog)
  • Do you lot own got subroutines to a greater extent than than a printed page or thence long (more than 50-100 lines of code)?
    • If so, you lot should improve modularity. (Blog)
  • Do you lot own got "if" statements nested to a greater extent than than ii or iii deep?
    • If so, inwards embedded systems much of the fourth dimension you lot should live using a land automobile blueprint approach instead of a menses nautical chart (or no chart) blueprint approach. (Blog)
    • If you lot own got real high cyclomatic complexity you're pretty much guaranteed to own got bugs that you lot won't discovery inwards unit of measurement assay out nor peer review. (Blog)
  • Did you lot follow an appropriate mode guideline in addition to role a static analysis tool?
    • Your code should compile amongst naught warnings for an appropriate alarm set. Consider using the MISRA C dominion laid (Blog) in addition to a goodness static analysis tool. (Blog)
  • Do you lot throttle variable reach aggressively, or is your code total of global variables?
    • You should own got essentially naught global variables. (Blog)  
    • It's non that difficult to instruct rid of globals if you lot hold off at things the correct way. (Blog)

(2) How create you lot know your existent fourth dimension code volition view its deadlines?
  • Did you lot ready your watchdog timer properly to discovery timing problems in addition to task death?
    • The watchdog has to discovery the expiry or hang of each in addition to every task inwards the organisation to supply a reasonable score of protection. (Blog)
    • How long to laid the watchdog is a niggling trickier than you lot mightiness think. (Blog)
  • Do you lot know the worst illustration execution fourth dimension in addition to deadline for all your time-sensitive tasks?
    • Just because the organisation industrial plant sometimes inwards testing doesn't hateful it volition locomote all the fourth dimension inwards the field, whether the failure is due to a timing fault or other problems. (Blog)
  • Did you lot create scheduling math for your system, such equally primary loop scheduling?
    • You demand to genuinely create the scheduling analysis. (Blog ; Blog)
    • Less than 100% CPU usage does non hateful you'll view deadlines unless you lot tin verify you lot view to a greater extent than or less particular conditions, in addition to in all likelihood you lot don't view those weather if you lot didn't know what they were. (Blog
  • Did you lot consider worst illustration blocking fourth dimension (interrupts disabled and/or longest non-context-switched task situation)?
    • If you lot own got ane long-running task that ties upwardly the CPU alone in ane lawsuit per day, thence you'll lady friend deadlines when it runs in ane lawsuit per day.  But perchance you lot instruct lucky on timing most days in addition to don't notice this inwards testing. (Blog)
  • Did you lot follow goodness practices for interrupts?
    • Interrupts should live curt -- genuinely short. (Blog) So curt you lot aren't tempted to re-enable interrupts inwards them. (Blog)
    • There are rules for goodness interrupts -- follow them! (Blog)
(3) How create you lot know your software lineament is goodness enough?
  • What's your unit of measurement assay out coverage?
    • If you lot haven't exercised, say, 95% of your code inwards unit of measurement test, you're waiting to discovery those bugs until later, when it's to a greater extent than expensive to discovery them. (Blog) (There is an supposition that the remaining 5% are exception cases that should "never" happen, but it's fifty-fifty improve to exercise them too.)
    • In general, you lot should own got coverage metrics in addition to traceability for all your testing to brand certain you lot are genuinely getting what you lot desire out of testing. (Blog)
  • What's your peer review coverage?
    • Peer review finds one-half the defects for 10% of the projection cost. (Blog)  But alone if you lot create the reviews! (Blog)
  • Are your peer reviews finding at to the lowest degree 50% of your defects?
    • If you're finding to a greater extent than than 50% of your defects inwards assay out instead of peer review, thence your peer reviews are broken. It's equally unproblematic equally that. (Blog)
    • Here's a peer review checklist to instruct you lot started. (Blog)
  • Does your testing include software specific aspects?
    • A product-level assay out excogitation is pretty much certain to lady friend to a greater extent than or less potentially large software bugs that volition come upwardly dorsum to seize amongst teeth you lot inwards the field. You demand a software-specific assay out excogitation equally well. (Blog)
  • How create you lot know you lot are genuinely next essential blueprint practices, such equally protecting shared variables to avoid concurrency bugs?
    • Are you lot genuinely checking your code against mode guidelines using peer review in addition to static analysis tools? (Blog)
    • Do your mode guidelines include non only cosmetics, but also technical practices such equally disabling task switching or using a mutex when accessing a shared variable? (Blog) Or avoiding stack overflow? (Blog)

(4) Is your software procedure methodical in addition to rigorous enough?
  • Do you lot own got a moving-picture demo showing the steps inwards your software in addition to work ready process?
    • If it's only inwards your caput thence in all likelihood every developer has a unlike mental moving-picture demo in addition to you're non all next the same process. (Book Chapter 2)
  • Are at that spot gaps inwards the procedure that are causing you lot hurting or leading to problems?
    • Very oft technical defects draw dorsum to cutting corners inwards the evolution procedure or skipping review/test steps.
    • Skipping peer reviews in addition to unit of measurement assay out inwards the hopes that production testing catches all the problems is a unsafe game. In the goal cutting corners on evolution procedure takes at to the lowest degree equally long in addition to tends to ship amongst higher defect rates.
  • Are you lot doing a existent usability analysis instead of only having your engineers wing it?
    • Engineers are a misfortunate proxy for users. Take human usability seriously. (BlogBook Chapter 15)
  • Do you lot own got configuration management, version control, põrnikas tracking, in addition to other basic software development practices in place?
    • You'd mean value nosotros would non own got to ask. But nosotros discovery that nosotros do.
    • Do you lot prioritize bugs based on value to projection rather than severity of symptoms? (Blog)
  • Is your assay out to evolution endeavour ratio appropriate? Usually you lot should own got twice equally many hours on test+reviews than creating the blueprint in addition to implementation
    • Time in addition to in ane lawsuit to a greater extent than when nosotros poll companies doing a reasonable task on embedded software of decent lineament nosotros discovery the next ratios.  One tester for every developer (1:1 caput count ratio).  Two test/review hours (including unit of measurement assay out in addition to peer review) for every evolution hr (2:1 endeavour ratio). The companies that become calorie-free on test/review normally pay for it amongst misfortunate code quality. (Blog)
  • Do you lot own got the correct amount of paperwork (neither likewise heavy nor likewise light)
    • Yes, you lot demand to own got to a greater extent than or less newspaper fifty-fifty if you're doing Agile. (Blog) It's similar having ballast inwards a ship. Too niggling in addition to you lot capsize. Too much in addition to you lot sink. (Probably you lot own got likewise niggling unless you lot locomote on military/aerospace projects.)  And you lot demand the correct paper, non only newspaper for paper's sake.  (Book Chapters 3-4)

(5) What close dependability aspects?
  • Have you lot considered maintenance issues, such equally patch deployment?
    • If your production is non disposable, what happens when you lot demand to update the firmware?
  • Have you lot done stress testing in addition to other evaluation of robustness?
    • If you lot sell a lot of units they volition view things inwards the land you lot never imagined in addition to volition (you hope) run without rebooting for years inwards many cases. What's your excogitation for testing that? (Blog)
    • Don't forget specialty issues such equally EEPROM wearout (Blog), time/date administration (Blog), in addition to mistake detection code choice (Blog).
  • Do your requirements in addition to blueprint address security in addition to security?
    • Maybe security (Blog)
    • Probably if this is the outset fourth dimension you've dealt amongst security in addition to security you lot should either consult an internal skilful or instruct external help. Some critical aspects for security in addition to security own got to a greater extent than or less sense to sympathise in addition to instruct right, such equally avoiding security pittfalls (Blog) in addition to eliminating unmarried points of failure. (Blog)
    • And piece we're at it, you lot create own got written, complete, in addition to measurable requirements for everything, don't you?  (Book Chapters 5-9)
For to a greater extent than or less other own got on these types of issues, view my presentation on Top 43 embedded software opportunity areas (Blog). There is to a greater extent than to transportation a swell embedded organisation than answering all the higher upwardly questions. (Blog) And I'm certain everyone has their ain listing of things they similar to hold off for that tin live added. But, if you lot scrap amongst the higher upwardly topics, thence getting everything else correct isn't going to live enough.

Finally, the point of my mass is to explicate how to discovery in addition to resolve the most mutual issues I view inwards blueprint reviews. You tin discovery to a greater extent than details inwards the mass on most of these topics beyond the spider web log postings. But the higher upwardly listing in addition to links to many of the spider web log postings I've made since releasing the mass should instruct you lot started.





IMPORTANT, MUST BE READ...

Thank for your attention Top five Embedded Software Problem Areas

my blog Top five Embedded Software Problem Areas, Have a nice day.

Now you read article Top five Embedded Software Problem Areas this permalink article is http://fairemirima.blogspot.com/2017/11/top-five-embedded-software-problem-areas.html Thank you and Best regards. You Can read nice Tips below. It was always better to choose topics that interest you or in wich you at least have some knowledge about . When creating targeted internet copywriting , you have to stick with your strong points , or everyone will know it . Make a list of all of the things and or topics that you are interested in . . . How much do you know ? Can you tell it as a story ? That is The essence of writing for the web . You Have to know your subject well , or nobody will believe you it is always better to impress someone then upset them . When Writing Targeted Internet Copywriting , you have to choose your appropriate target group of customers . without a target group of customers , you could ramble on incessantly about random subjects for days on end with no essence of a final goal . You always have to keep in mind who your customers are and what they are looking for . . . . . . . . . IMPORTANT, MUST BE READ...

0 Response to "Top five Embedded Software Problem Areas"

Post a Comment