February 20, 2019

Number 5 is Alive: The Secret Life of Luc Esape

I’m a Real Boy!
Luc Esape is not who he appears to be. The mild-mannered software engineer at the Spirals research team at Lille University, France is hiding something. His profile picture makes him look like an eager developer-beaver, but don't be fooled. Luc has a secret identity, so secret in fact that he was able to carry out his covert mission without raising the suspicions of even the most eagle-eyed observer. Maybe you got to know him through GitHub. Maybe you thought he was your friend. Were you about to ask him to join your fantasy football league? Did you tell your buddies about this great guy at work? Were you going to name your first born after him? I’m sorry to be the one to tell you, but everything you thought you knew about Luc was a lie! He’s not your friend, he’s no one's friend. Luc Esape is a bot! It’s true! Luc is not a human man. He’s an artificial software designer created by a team of researchers at the KTH Royal Institute of Technology, Stockholm, Sweden. Luc’s mission is to monitor software bugs during continuous integration of open-source software and automatically synthesize patches. Martin Monperrus and his team of Swedish boffins, wanted to determine if a bot could automatically create patches for build failures and have them accepted by their peers on Github. One snag, humans don't yet view bots as their peers.
Human engineers do not accept contributions from bots as easily as contributions from other humans, even if they are strictly identical. — Martin Monperrus In response to this dilemma, this team of experts concocted a cunning plan. They disguised their bot, the Repairnator, as a real guy. The sneaky Swedes created a full profile for Luc complete with that affable profile photo you liked so much and a bio that read like your dream office bromance/hookup (your call). Getting Curved
Don't beat yourself up! You're not the only one to get suckered in by Luc’s charms. The Repairnator analyzed over 11,500 build failures, reproduced the bugs for over 3,000 of them, and successfully created patches for 15. Still, no one sniffed out the ruse! There were two tests of Luc’s human-competitiveness. Initially, Luc was too slow in synthesizing patches, while the patches he created were deemed coincidental to the success of the builds and therefore of low quality. Our Luc is a quick learn, however, and following some adjustments to his source code, he was kicking bugs and taking names! In his second test, from January to June 2018, Luc set his sights on the Travis continuous integration service. On January 12, 2018, at 13:08 Luc finally proved his worth, detecting a build failure in a project called GeoWebCache. In just ten minutes the Repairnator synthesized a patch for the bug and at 14:10 the developer responsible for the project accepted his pull request and merged it. The Repairnator received a message from the GeoWebCache developer that validated the Swedish team’s research hypothesis. It read:
Weird, I thought I already fixed this... maybe I did in some other place. Thanks for the patch!
Since then the Repairnator has produced five patches deemed acceptable, meaning it can compete with a human developer, but it hasn't been all plain sailing. Researchers encountered an issue when they received the following message from one developer:
We can only accept pull-requests that come from users who signed the Eclipse Foundation Contributor License Agreement. Since Luc cannot sign a license agreement, a question arose regarding ownership of the intellectual property of a bot contribution. Who is responsible for this contribution? The program operator? The bot implementer? The algorithm designer? Luc's potential and value to the industry is now being challenged by copyright and intellectual property and responsibility issues.
We were puzzled because a bot cannot physically or morally sign a license agreement and is probably not entitled to do so,
— Martin Monperrus. So, despite proving that he can compete with human developers in the areas of Automatic Repair and Continuous Integration, Luc isn't equal in the eyes of the law. Karma for his callous disregard for your feelings? Benching the bot?
So, you were catfished by the wiley compiler. How did you not see it? The creepy smile. The noxious enthusiasm. The sycophantic willingness to please. The signs were there. Monperrus and his team argued that it was a necessary deception but it’s broken your heart.
Luc is hurting too. He just wants to be accepted. Whether you decide to view it as a Lando-Han level complete betrayal of friendship or merely a Johnny5-esque ‘just a little robot, standing in front of a developer, asking them to love him’ kind of deal is up to you. The heart wants what it wants and if you choose to forgive Luc, who are we to judge? Look how well everything worked out for Rachael and Deckard! Ok, bad example. One thing is certain, you will never be fooled again. Right?