Slashdot Mirror


Webservice Debugs Linux Binaries While-U-Wait

null-und-eins writes "A new webservice offers automatic debugging of Linux binaries. It takes a (with "-g" compiled) binary and two invocations where one fails and the other doesn't. The service repeatedly runs the two programs and tries to find the smallest difference between the two that causes the failure. Nice google-like interface with statistics about its own performance."

28 of 219 comments (clear)

  1. Let me get this straight... by Theatetus · · Score: 4, Funny

    ...these guys allow me to upload any linux executable, which they will then execute in a gdb context?

    Alfred, prepare the rootkit!

    --
    All's true that is mistrusted
    1. Re:Let me get this straight... by Hentai · · Score: 4, Insightful

      Let no good deed go unpunished.

      Hopefully they've thought of this and won't let it screw them up too badly. A shame that human nature is such that the first thing people think about when they see a nifty new service is how to shit in it and ruin it for everyone else. (witness /.)

      --
      -Hentai [in vita non pacem est]
    2. Re:Let me get this straight... by Space+cowboy · · Score: 4, Informative

      It mentions that the whole thing runs in debian 'woody' sandboxes when the code is run. Presumably you can only 'rootkit' the sandbox ...

      Simon

      --
      Physicists get Hadrons!
  2. One down, one to go by Space+cowboy · · Score: 4, Funny

    Now we've got it debugging the code, we only need to get it started writing the code, and we're sorted :-)

    Simon

    --
    Physicists get Hadrons!
    1. Re:One down, one to go by fitten · · Score: 3, Funny

      So... we finally know what the 2. ???? is...

  3. Why... by O2n · · Score: 4, Funny

    Why ask Igor when you can ask slashdot? :-)

  4. If I only had it two weeks ago.. by Kadagan+AU · · Score: 3, Interesting

    ...When I was trying to figure out what the hell was making my program crash! I figured it out, and got it fixed, but it took me 6 hours to pin point it! Something like this can (hopefully) be very useful next time I have a program that unexpectedly seg faults! =)

    --
    This space for rent, inquire within.
  5. poor admin... by Dreadlord · · Score: 3, Interesting

    I site's admin configured the site to forward visitors to the google cache of the site, but if you actually try to debug something, you get back to the real site, poor admin, he thought he could get away from /.ing!

    --
    The IT section color scheme sucks.
    1. Re:poor admin... by Andreas+Zeller · · Score: 5, Informative

      Most people coming from /. just have a look at the main site. By redirecting, we reduce traffic by about 50% and Apache load by 75%. If you want to go beyond (and maybe submit some buggy program), you're welcome!

      --

      www.askigor.org - automated debugging service

  6. This is cool but by Safiire+Arrowny · · Score: 5, Insightful

    I think this is a neat idea, but I wonder why it isn't a standalone program you can run yourself as well as/instead of a web interface.

    This is because I wonder why he wants to run the risk of running foreign binaries (sandbox or not) when he could have just not done that. There doesn't seem to be any advertising on the page, so that isn't it.

    Oh well, maybe he just thinks it's cooler this way, actually it kinda is, so long as it's safe for him I guess.

    1. Re:This is cool but by GigsVT · · Score: 3, Funny

      Easy answer: So he can steal your programs!

      (OK, maybe not steal, but you know what I mean)

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
    2. Re:This is cool but by Vaevictis666 · · Score: 3, Interesting

      They actually might be ready - somewhere on the site it says that they'll release a standalone version (for local runs) once Igor debugs 1000 programs. This way the get a decent-sized test so they can squish more bugs. And yes, they use Igor to delta debug itself :)

    3. Re:This is cool but by Andreas+Zeller · · Score: 5, Informative
      We're running AskIgor as a Web service (instead of a standalone program) for two reasons:
      • We get a set of programs for regression testing.
      • We get some ratings about the quality of our work.
      Although we did our best to give AskIgor a decent interface, it's still a research prototype, and there's many possible ways to go. Your submissions help us making these decisions, and guide our future development.
      --

      www.askigor.org - automated debugging service

    4. Re:This is cool but by ThisIsFred · · Score: 3, Funny

      If you find this service useful...

      I'm going to set-up a new MP3-checking site. It inspects the MP3s you upload and tells you whether or not they are protected by copyright. If the MP3s contain copyrighted material, the server informs the user, then saves a copy of the file for, uh, ahem, closer long-term inspection by the site administrator. Contacting the RIAA won't be necessary since it's already been established that the content is copyrighted, and the user warned. It's like RIAA copyright infringer amnesty, but without the legal gotchas!

      Why take chances? Do a batch upload of all your MP3s and save yourself from a lot of legal hassles!

      p.s. Please upload only MP3s encoded at 160Kbps/high quality or better. Quality is very important to the copyright determination process.

      --
      Fred

      "A fool and his freedom are soon parted"
      -RMS
  7. Re:Ok igor... by Andreas+Zeller · · Score: 5, Informative

    No problem. Igor runs your program in a sandbox whose contents get restored with each new submission.

    --

    www.askigor.org - automated debugging service

  8. Re:So... by bmorris · · Score: 5, Funny

    FYI, your problem is the extra "a" in "baar".

  9. Quick, someone upload Sendmail by SpaceCadetTrav · · Score: 4, Funny

    Find out what's wrong with that crap.

  10. Open-Source Community: Beta=Flaky, Mature=Stable by phorm · · Score: 5, Insightful

    You must be joking. While some of the more "mature" projects are definately solidly coded, some of the others are nightmares. Try mixing several different coding styles, nights coding on only caffeine, starting, stopping, and losing your place...leaving debug to-fix-later code in by accident...

    Open source suffers the same problems as closed. In some projects moreso, as the variance of different coding styles/standards-adherance can lead to very interesting things happening. Even some mature projects have this problem, I've heard of some common ones where a rewrite was considered, because as the code evolved and was added to, the author(s) learned much better coding as it progressed but left the core a bit flaky.

  11. It's a bit more complex than just "diff" by mbessey · · Score: 3, Informative

    Please read the article.

    The tool executes your program multiple times, and examines the internal state of the program (variable values and memory contents) at various stages in the execution.

    It then automatically isolates the root cause of the failure. This is pretty cool stuff, and ought to save a lot of time tracking down complex bugs.

    -Mark

  12. Google-like... wait a second... by Elwood+P+Dowd · · Score: 4, Interesting

    Smart kids. Redirecting to their google cache.

    I wonder what happens on google's next cache update, if you're doing something like that. Do you get a google cache within a google cache? Or does google just forget about you?

    --

    There are no trails. There are no trees out here.
    1. Re:Google-like... wait a second... by Andreas+Zeller · · Score: 5, Informative

      We're redirecting only if you come from /.

      --

      www.askigor.org - automated debugging service

  13. Very Clever by MonkeyCookie · · Score: 3, Interesting

    We're redirecting only if you come from /.

    That's very clever! Smart cookies.
    It certainly mitigates the awesome server-melting power of the slashdot effect

  14. Re:Question by Andreas+Zeller · · Score: 5, Informative
    The core technology behind Igor is delta debugging, a general method to determine the difference between a working and a failing scenario.

    While not applying AskIgor (being a huge mix of Python, PHP, and SQL) on itself, we have applied delta debugging on various parts of AskIgor to detect failure-inducing code changes, and especially failure-inducing GDB commands.

    We're currently working on Eclipse plugins written in Java, and working on Java - and these will work 100% on themselves.

    --

    www.askigor.org - automated debugging service

  15. Problems with upload.... by Anonymous Coward · · Score: 3, Funny

    I notice that Fedora Linux is full of bugs, however this site won't let me upload the entire first cd.

  16. algorithmic and automatic debugging by penguin7of9 · · Score: 3, Interesting

    This fields has decades of history. A good starting point, should you like to explore it, is here.

  17. Re:Doesn't seem that useful. by Andreas+Zeller · · Score: 3, Insightful
    We're talking about two different issues here - reproducing the bug and actually understanding how it came to be. Most bugs are easy to reproduce and easy to understand, just by re-invoking them and looking at the stack trace.

    Some bugs, though, are hard to reproduce, which means that you should set up appropriate isolation and monitoring layers in your program. The recent issue of Communications of the ACM, for instance, has a nice article on record/replay of program executions, which solves all problems of reproducing runs - in principle, that is, because such tools are not readily available yet.

    Now there's some bugs that are hard to understand, especially those where there's a long delay between the defect being executed and the experienced failure. Think about a compiler that generates bad code. This is not an issue of reproduction; nor can the problem be solved by examining the stack trace. You have to work your way backwards all through the execution to understand the cause-effect chain. This is where AskIgor can really help you.

    And, yeah, I got 12 years of C/C++ programming and debugging experience, too :-)

    --

    www.askigor.org - automated debugging service

  18. google-like interface? by 3Suns · · Score: 4, Funny

    Nice google-like interface...

    What, you mean like a textbox?

    --

    -3Suns

    ~~~~
    The Revolution will be Slashdotted
  19. Such a program replay tool exists by Convergence · · Score: 3, Interesting

    I remember reading a rant about a year ago. Someone wrote a replay tool for program executions for under linux, I think 2.0 or 2.2. They dropped it because nobody cared about it (probably because nobody knew about it), and they got sick of updating it constantly for new IOCTL's as the kernel constantly changed.

    I think it was Carmack lamenting its loss.