repairnator icon indicating copy to clipboard operation
repairnator copied to clipboard

repairnator: integrate a repair system for C#

Open monperrus opened this issue 5 years ago • 5 comments

C# is a major language in industry. It would be great to have a repair system for repairing C# programs integrated in Repairnator.

Interested people: James Huang

@mallamanis may have inputs.

monperrus avatar Mar 29 '19 08:03 monperrus

It would be interesting indeed :) Unfortunately, I am not aware/do not have any experience with such tools for C#/DotNet. Probably Roslyn can be used to create such tools.

mallamanis avatar Mar 29 '19 15:03 mallamanis

I would like to contribute on this as I have some experience with C#. I would need some pointers on where to plug the c# repair system into the repairnator.

apollo2030 avatar Jul 29 '19 08:07 apollo2030

Hi @apollo2030, welcome!

That would be awesome to make progress on repairnator for C#.

There would be two categories of tasks.

The repair tool:

  • implement a program repair tool for C# based on a known repair algorithm (I can provide advice to choose it)
  • implement a simple command line interface with ./your-tool --build 1234 (the number represents a valid Travis CI build number, eg 348887356 for https://api.travis-ci.org/v3/build/348887356)
  • package it into a docker image, that could be run as follows apollo2030/your-tool --build 1234 (with some volume tricks to get the output back in repairnator)

Inside Repairnator:

  • un-hardwire the need for Java builds to support other languages https://github.com/Spirals-Team/repairnator/blob/master/repairnator/repairnator-realtime/src/main/java/fr/inria/spirals/repairnator/realtime/RTScanner.java#L259
  • write a new log parser to parse the Travis console output coming from C# build systems and test frameworks (for Java it is https://github.com/Spirals-Team/jtravis/blob/master/src/main/java/fr/inria/jtravis/parsers/LogParser.java)

monperrus avatar Jul 29 '19 11:07 monperrus

Hi @monperrus, thanks for the reply, I will take some time to get it working. One question - "implement a program repair tool for Java ..." you meant C# ?

apollo2030 avatar Jul 29 '19 13:07 apollo2030

of course :) (updated my comment)

monperrus avatar Jul 29 '19 13:07 monperrus