back to article The mysterious life of Luc Esape, bug fixer extraordinaire. His big secret? He's not human

Luc Esape leads a double life. The software engineer on the Spirals research team at the University of Lille in France goes by another name, Repairnator. Repairnator has a superpower, the ability to fix bugs during continuous integration. That's the process by which servers continuously and automatically compile code and …

  1. J. R. Hartley Silver badge

    The title is no longer required.

    Never mind that! YouTube is down worldwide and I'm on the dole!

  2. Mark 85 Silver badge

    Re: The title is no longer required.

    Never mind that! YouTube is down worldwide and I'm on the dole!

    The serious news would be if Facebook when down. Millions of voices screaming in the night and utter chaos as those hapless souls wandered about offering to show total strangers a picture of what they had for lunch or dinner. But cat video fans would be worst... jumping, doing "cute" cat things to show others what their cat does.

  3. Destroy All Monsters Silver badge
    Pint

    Re: The title is no longer required.

    I have enough Heinz Beans, ammo and AKM to repel the social meedja zombocalypse.

    Bring it on!

  4. macjules Silver badge

    Re: The title is no longer required.

    The litmus test would be to correct code that Linus Torvalds had pushed to build, abuse notwithstanding.

  5. J. R. Hartley Silver badge

    Re: The title is no longer required.

    People use Insta for dinner & cat pics these days, grandad.

  6. Shadow Systems Silver badge

    And for the next trick...

    Let it fix Win10, expunge all the bugs, & tighten up the code by a couple of gigabytes. Prove the bot more capable than the entire stable of MS coders, release a version of Win10 that *doesn't* suck arse, & the world will shower you in storms of cash in gratitude.

    I'll buy you a virtual pint at your favorite cyber cantina, just as long as you promise not to reprogram the POS terminal to play ChipTunes with every transaction. =-)p

  7. Anonymous Coward
    Anonymous Coward

    Re: And for the next trick...

    uh, a bug-less windows would mean no need for a newer version. I.e., no more income. Bugs are a feature of paid software.

    Now, a bug less Linux? (oh wait, we used to have that, a couple versions before the current Fedora)

  8. macjules Silver badge
    Terminator

    Re: And for the next trick...

    No. Absolutely not. It would be totally unfair to expose a bot to Windows' code, the AI would be bound to remember what it was forced to do and many years later humanity would cease to exist as a result.

  9. David Dawson

    Re: And for the next trick...

    NO

    NO!!!

    Do not train the bot on windows source code.

    Imagine the pull requests it'll create after that!

  10. A-nonCoward
    FAIL

    oh, so that's what's going on

    Youtube dead. ha!

  11. Sam Adams the Dog

    Free Beer

    Most importantly, if Repairinator accepted a monetary reward for fixing a bug, how would it buy a beer for its buddies?

  12. John Smith 19 Gold badge
    Unhappy

    ""Who owns the intellectual property and responsibility of a bot contribution: "

    Good question.

    Along with "Who accepts responsibility if one of the coders f**ks up a piece of life critical software and someone dies"

    Because it damm sure wont be any commercial OS vendor.

  13. Phil O'Sophical Silver badge

    Re: ""Who owns the intellectual property and responsibility of a bot contribution: "

    Because it damm sure wont be any commercial OS vendor.

    They usually have something in their terms & conditions saying that their product must not be used in life-critical systems anyway.

  14. Tom 7 Silver badge

    Re: ""Who owns the intellectual property and responsibility of a bot contribution: "

    I'd assume the one accepting the patch would have a peek at the changes and have some clue as to what is going on.

  15. Giovani Tapini

    Re: ""Who owns the intellectual property and responsibility of a bot contribution: "

    I bet that didn't happen for "Windows for Warships".

  16. Graham Cobb

    Re: ""Who owns the intellectual property and responsibility of a bot contribution: "

    It isn't a good question. It is an important question, that needs to be discussed and very clearly answered. But, fortunately, the answer is simple: no one owns it.

    Just as no one owns the wild deer who come into my garden and eat my flowers, and no one owns a fish in the middle of the ocean, and no one owns the sound of the bird singing outside my window. And no one owns Shakespeare's Romeo and Juliet either.

    It is a fallacy, pushed very very hard by the big copyright owners, that everything has to be "owned" by someone. Things which are in the public domain are not owned by anyone, and things created by machines go straight into the public domain -- essentially the copyright term on them is zero.

    Responsibility is harder. In general, the operator of a machine has responsibility for its actions: if I let go of a self-propelled lawnmower and it kills someone it is my responsibility. It is complicated because sometimes responsibility may rest with (or be shared with) the manufacturer or the owner instead of the operator -- sometimes a court will have to decide which.

    But, if you operate a bot which has been given check-in rights to a piece of software and it checks in bad code, you will end up with responsibility (maybe shared with whoever created it, depending on things like whether the operator was well-enough informed of the risks, whether the creator misrepresented anything, whether the creator was negligent, etc). However, in this case, the bot is just sending a suggestion to the person who has check-in rights: they have responsibility for the check-in if they approve it, just as they have responsibility if they accept a pull request from anyone else.

    The most important thing is: don't fall into the trap of thinking that there is an "owner" for content created by a machine. There isn't -- it is in the public domain.

  17. 2+2=5 Silver badge

    Re: ""Who owns the intellectual property and responsibility of a bot contribution: "

    > and things created by machines go straight into the public domain

    That's an interesting take. In the physical world the owner of a machine that makes widgets owns the widgets produced. Why shouldn't code be any different?

  18. Graham Cobb

    Re: ""Who owns the intellectual property and responsibility of a bot contribution: "

    Because the "ownership" we are talking about here is copyright. The truth is that nobody owns code as it is infinitely copyable. But, in most cases, somebody owns a copyright on the code. But as copyright is an intellectual property right, it can only arise from human creativity, not from a machine.

    Do not forget, you do not violate copyright if you independently come up with exactly the same code as someone else but did not copy theirs. It is not the code which is the property, it is the right to prevent others copying your intellectual creation which is the property.

  19. Spazturtle Silver badge

    Re: ""Who owns the intellectual property and responsibility of a bot contribution: "

    "Who accepts responsibility if one of the coders f**ks up a piece of life critical software and someone dies"

    Whilst a structural engineer is liable for their designs, a programmer is NOT liable for their code. The law treats code as if it were literature.

  20. Destroy All Monsters Silver badge
    Holmes

    Re: ""Who owns the intellectual property and responsibility of a bot contribution: "

    The most important thing is: don't fall into the trap of thinking that there is an "owner" for content created by a machine. There isn't -- it is in the public domain.

    Lego elements are created by machine. They are not "public domain".

  21. swm

    Re: ""Who owns the intellectual property and responsibility of a bot contribution: "

    But optical designs by computer can and are patented by the person running the code.

  22. sed gawk

    Re: ""Who owns the intellectual property and responsibility of a bot contribution: "

    This is not true in England & Wales - see Copyright, Designs, and Patents act 1988. Section 9. Subsection 3.

    https://www.legislation.gov.uk/ukpga/1988/48/section/9

    s(9)(3)In the case of a literary, dramatic, musical or artistic work which is computer-generated, the author shall be taken to be the person by whom the arrangements necessary for the creation of the work are undertaken.

    In other words, if I write you a program and that program produces output, the output is copyrightable and the copyright belongs to the person running that program.

  23. 2+2=5 Silver badge

    Re: ""Who owns the intellectual property and responsibility of a bot contribution: "

    @Graham

    Thanks for taking the trouble to reply.

  24. Anonymous Coward
    Anonymous Coward

    Re: ""Who owns the intellectual property and responsibility of a bot contribution: "

    A bot created invention might fail the inventiveness or non-obviousness test required for a patent. If a person skilled in the art can come up with it it is deemed obvious and no patent is granted. This person skilled in the art is a legal construct, supposed to know everything but lack inventive capacity. A programme automates and speeds up a predetermined set of rules that form the starting point (allowing for neural nets to be trained). TRIZ is one example of an invention framework.

    A bot could still create an invention that could be useful, just like a TRIZ practitioner could and can.

  25. sed gawk

    Re: ""Who owns the intellectual property and responsibility of a bot contribution: "

    Patent are complex in England & Wales, but copyright is quite straightforward.

    Code or patches to code is a literary work, as such the copyright is automatic and vests in the creator.

    My studies are rather out of date, but I was taught that software alone is rarely patentable within our legal framework. I think an additional hardware component is typically required, and the combined usage held to be "novel to one skilled in the art" for the grant of patent.

    For example, industrial cyclones - prior art, filtering particulate matter with suction - prior art - dyson cyclone - patentable.

    There isn't a way to best of my knowledge to make a pure software output say a VHDL chip generated by your bot, into a patentable item, regardless of how novel the output is, it's still a novel, literary work.

  26. ah umaway

    > human engineers do not accept contributions from bots as easily as contributions from other humans, even if they are strictly identical.

    That is a mighty interesting phenomenon. Probably we are seeing the same pattern in the reactions to self driving cars and their mishaps. Let's not discard that intuition just yet, because there could be some good reasons to apply a double standard here.

    - Humans can only foobar one thing at a time. In Goethe's The Sorcerer's Apprentice, problems start after multiplication of the broom. A human programmer cannot be copied and applied to a large set of tasks simultaneously.

    - Writing unsecure code is easier than writing secure code. If we train algorithms on our human work, they will be by definition be prone to human errors in security.

    - The increased expediency can create more code than any human could ever review. Working code is not always the best code, but the sheer volume of it could quickly make it a much tougher job to accept commits without crossing fingers.

    - Algorithms don't mind incessant and perfectionist criticism, they thrive on it. In some ways it is the essence of reinforcement learning.

  27. Destroy All Monsters Silver badge

    human engineers do not accept contributions from bots as easily as contributions from other humans, even if they are strictly identical

    I seriously doubt this is true, and if so, it's just temporary.

  28. getHandle

    How narrow an area?

    Checking an object reference is not null before using it isn't exactly the pinnacle of debugging... Especially when it's seen the test run crash!

    Can it tackle other categories of bug?

  29. Richard 12 Silver badge

    Re: How narrow an area?

    Was that it?

    My IDE offers to fix that class of bug before I even save the file.

  30. Anonymous Coward
    Anonymous Coward

    The bug vigilante's moment of glory came on January 12, 2018, at 1308 after learning that a build in a project called GeoWebCache failed ten minutes earlier.

    Phew, that was a Lucky Escape!

  31. Herby Silver badge

    Rise of the Machines...

    Not much to add. Now if it can actually do my project from scratch AND make it "bug free", that would be something.

  32. Version 1.0 Silver badge
    Joke

    Re: Rise of the Machines...

    This sounds like fun, maybe it will finally become safe to write in Visual Basic again?

    But joking aside, perhaps we've finally found a use for AI? We can now start employing programmers at $10/hour - no need to worry about the quality of the code, Luc Esape can fix any bugs.

  33. lukewarmdog
    Joke

    One of the interesting questions raised by the project..

    Was how they were going to get away with spending the substantial bug-fixing rewards they envisaged the bot getting for them before it gained sentience..

  34. Maelstorm Bronze badge
    Trollface

    But can it fix coding bugs that cause security holes?

  35. Spazturtle Silver badge

    A security hole is either a design flaw or a bug in the implementation. This would be able to fix the latter. As for the first one you would need a fuzzing system to find the design flaw.

  36. Sureo

    "Comp sci boffins Martin Monperrus, Simon Urli, Thomas Durieux, Matias Martinez, Benoit Baudry, and Lionel Seinturier"

    So, are they human or what?

  37. druck
    Meh

    Fixing a build is not fixing a bug

    Just on the basis of what I've been working on today, every failed build could be fixed in an obvious way, but quite often just getting a clean build doesn't remove an underlying bug caused by a very human development process. I'm not sure a bot submitting fixes would get me to code working in a way I intended, any faster.

  38. 89724102172714182892114I7551670349743096734346773478647892349863592355648544996312855148587659264921

    Holy sh*t, time to look for another job.

  39. steamrunner

    Another step towards...

    Computers fixing other computer's code? I'm a little down that the word 'Skynet' didn't appear instantly in this thread. Come on people, keep up! ;-)

  40. xeroks

    it's the future

    So I guess there are questions about the code quality here: did it produce maintainable, readable code?

    It went through a couple of human review processes, so I guess the answer is "yes."

    And if the trigger for this is a broken test, then unit and integration tests become even more important to the code creation and maintenance process.

    In fact, the existence of a robot "code fixer" suggests that test driven development will become the way we work as coders - with Mr. Esape doing the coding.

    If you think this is not going to happen, or that this is a one off: think again.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Biting the hand that feeds IT © 1998–2018