NASA/JPL embedded C programming guidelines, public version

Discussion in 'other software & services' started by Gullible Jones, May 23, 2014.

Thread Status:
Not open for further replies.
  1. Gullible Jones

    Gullible Jones Registered Member

    Joined:
    May 16, 2013
    Posts:
    1,461
    Something I just remembered:

    http://lars-lab.jpl.nasa.gov/JPL_Coding_Standard_C.pdf

    Especially interesting to me are:

    Comes as a bit of a surprise to me, since Real Programmers usually love recursion; but I can see why. Exit conditions for recursive functions are not always obvious.

    That is... pretty strict. They say it's for performance reasons, but I think it makes even more sense from a reliability standpoint, if you look how many userspace programs goof up with dynamic memory.

    I wonder if there are any general purpose OS kernels that use these or similar guidelines?
     
  2. TheWindBringeth

    TheWindBringeth Registered Member

    Joined:
    Feb 29, 2012
    Posts:
    2,088
    The more dynamic the software behavior (heap usage, stack usage, CPU usage, task switching, interrupt response time, etc) the more difficult it is to predict and assure how the software will behave. Particularly if/when it encounters an unexpected combination of internal and/or external conditions. See: Real-time operating system (RTOS), deterministic behavior.
     
Loading...
Thread Status:
Not open for further replies.