Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Medicine Robotics Technology

Scientists Tout New Way To Debug Surgical Bots 68

coondoggie writes "When it comes to having robotic surgeons slicing around inside your brain, heart or other important body organ, surgeons and patients need to know that a software or hardware glitch isn't going to ruin their day. That's why a new technique developed by researchers at Carnegie Mellon University and the Johns Hopkins University Applied Physics Laboratory that promises to reliably detect software bugs and verify the software safety of surgical robots could be a significant development."
This discussion has been archived. No new comments can be posted.

Scientists Tout New Way To Debug Surgical Bots

Comments Filter:
  • by Anonymous Coward on Monday April 08, 2013 @01:30PM (#43393119)
    This is what you get with a market-based approach to healthcare.
  • by Zerth ( 26112 ) on Monday April 08, 2013 @01:31PM (#43393139)

    wow, does it solve the halting problem as well?

  • by ColdWetDog ( 752185 ) on Monday April 08, 2013 @01:36PM (#43393197) Homepage

    If the doctor doesn't ruin your life, then you don't get to ruin his day. Works for both 'concerns'.

    Not that I'm sure the touted system will work as planned (it never does) but trying to minimize bad outcomes is sort of the whole point to improving medical practice.

    It's not just BMWs and trophy wives.

  • by Jane Q. Public ( 1010737 ) on Monday April 08, 2013 @01:45PM (#43393299)

    "wow, does it solve the halting problem as well?"

    Pretty close to my thoughts as well.

    Reliably finding all "bugs" is not possible without an intimate knowledge of exactly what the software is trying to accomplish. You can find certain kinds of errors algorithmically (what amount to "compile time" errors), and even prevent many kinds of run-time errors.

    But there is simply no way to prevent the program from doing something unintentional (like cutting the wrong thing) without prior detailed knowledge of the actual intent.

  • Misleading summary (Score:4, Insightful)

    by MasseKid ( 1294554 ) on Monday April 08, 2013 @01:58PM (#43393463)
    This debugs the algorithm, not the software, nor the hardware used. There is an enormous difference.
  • by Anonymous Coward on Monday April 08, 2013 @02:20PM (#43393703)

    No, this is what you get with a market-based approach to healthcare coupled with a government-granted monopoly in the form of ridiculous licensing laws.

    If you increased the competition these people face, they wouldn't be so smug anymore.

  • by radtea ( 464814 ) on Monday April 08, 2013 @02:35PM (#43393797)

    But there is simply no way to prevent the program from doing something unintentional (like cutting the wrong thing) without prior detailed knowledge of the actual intent.

    Back in the '80's David Parnas argued that software verification was fundamentally different from hardware verification precisely because software has very nearly infinite bandwidth, which is precisely the opposite of the argument being made in the article.

    That is, for hardware, a small change in some parameter will in almost all practical cases result in behaviour that is not wildly different from the behaviour with the original value. This means that we can test it under a finite set of conditions and smoothly extrapolate to the rest.

    With software, a single bit flipped can result in behaviour that is arbitrarily different from the original behaviour. As such, nothing short of exhaustive testing over all possible accessible states can prove software correct.

    Algorithmic testing of the kind described here will catch some bugs, but provably correct algorithms can still run into practical implementation details that will result in arbitrarily large deviations from ideal behaviour. For example: the inertial navigation module on the Ariane V could have had provably correct code (for all I know it actually did) and the rocket still would have destroyed itself.

    Most problems with embedded systems are of the kind, "The hardware did something unexpected and the software responded by doing something inappropriate." Anticipating the things the (incorrectly assembled, failure-prone, unexpectedly capable) hardware might do and figuring out what the appropriate response is constitutes the greater part of building robust embedded code, and this kind of verificationist approach, while useful as a starting point, won't address those issues at all.

UNIX was not designed to stop you from doing stupid things, because that would also stop you from doing clever things. -- Doug Gwyn

Working...