Page 1 of 3

Help wanted! Python based ReactOS patcher/developer.

Posted: Wed Feb 20, 2019 6:31 pm
by Reactions
Hi all,

First, I don't need people to tell me how hard this is. So don't.

I am working on developing a machine learning algorithm that can patch code in ReactOS, and maybe develope code as well. It will be able to analyze the structure of the code it's patching and use "after" based parameters to figure out what should be typed next. I am going to need people to help train the AI. Also to improve the algorithm. I will have links to sites to help develop. Please let me know if interested in helping.
Thanks,
Reactions

Re: Help wanted! Python based ReactOS patcher/developer.

Posted: Wed Feb 20, 2019 7:01 pm
by hbelusca
There are two things I'm thinking about an AI that can do such a job:
- writing patches to fix *known* bugs;
- writing patches for new features.

I personally think that the second point is currently out of reach of any AI since a good part of "new features" involve creativity, which is similar to what artists employ, and which is why AIs trying to "create" new works have such a hard time to do that (see e.g. AI-created paintings, that actually use "patterns"/"techniques" that they "think" have been used by painters -- We talk here about imitating a style of a painter, or "creating" a new style of painting by mixing with different proportions different styles from different painters).
Also, the AI somehow should know what's the ultimate goal to reach -- how the "new feature" to implement should be.

For the first point, it may be possible to have something working: the AI is able to know what the bug is (at least for simple potential bugs like code defects coming from Coverity et al.), and it may be easier to define what the corresponding "fixed" code should do, so as the AI can work it out and create the patch.

Re: Help wanted! Python based ReactOS patcher/developer.

Posted: Wed Feb 20, 2019 7:16 pm
by Reactions
hbelusca wrote:
Wed Feb 20, 2019 7:01 pm
There are two things I'm thinking about an AI that can do such a job:
- writing patches to fix *known* bugs;
- writing patches for new features.

I personally think that the second point is currently out of reach of any AI since a good part of "new features" involve creativity, which is similar to what artists employ, and which is why AIs trying to "create" new works have such a hard time to do that (see e.g. AI-created paintings, that actually use "patterns"/"techniques" that they "think" have been used by painters -- We talk here about imitating a style of a painter, or "creating" a new style of painting by mixing with different proportions different styles from different painters).
Also, the AI somehow should know what's the ultimate goal to reach -- how the "new feature" to implement should be.
I know it's such a long shot. Prob won't happen until 2040 or something like that.

Re: Help wanted! Python based ReactOS patcher/developer.

Posted: Wed Feb 20, 2019 7:35 pm
by hbelusca
Fixing code defects using AI may be a simpler goal to start with.

Re: Help wanted! Python based ReactOS patcher/developer.

Posted: Wed Feb 20, 2019 7:39 pm
by Reactions
hbelusca wrote:
Wed Feb 20, 2019 7:35 pm
Fixing code defects using AI may be a simpler goal to start with.
Totally agree

Re: Help wanted! Python based ReactOS patcher/developer.

Posted: Wed Feb 20, 2019 7:44 pm
by Reactions
Should we do after letter based or after phrase based? More that I think about it, phrase after phrase based alg might be best.

Re: Help wanted! Python based ReactOS patcher/developer.

Posted: Wed Feb 20, 2019 8:12 pm
by binarymaster
Reactions wrote:
Wed Feb 20, 2019 6:31 pm
I am working on developing a machine learning algorithm that can patch code in ReactOS, and maybe develope code as well.
Take a look at this:

Re: Help wanted! Python based ReactOS patcher/developer.

Posted: Wed Feb 20, 2019 8:25 pm
by hbelusca
Ok, so I think that win32k bugfixing / implementation has been done with AI :lol: :lol: :lol:

Re: Help wanted! Python based ReactOS patcher/developer.

Posted: Wed Feb 20, 2019 8:33 pm
by Reactions
Cool. However, how can we expand the AI into drivers for example or rendering apis?

Re: Help wanted! Python based ReactOS patcher/developer.

Posted: Wed Feb 20, 2019 10:07 pm
by learn_more
Train the AI to automate wine-syncs :lol:

Re: Help wanted! Python based ReactOS patcher/developer.

Posted: Wed Feb 20, 2019 10:40 pm
by hbelusca
learn_more wrote:
Wed Feb 20, 2019 10:07 pm
Train the AI to automate wine-syncs :lol:
:lol: but actually a good idea :D

Re: Help wanted! Python based ReactOS patcher/developer.

Posted: Wed Feb 20, 2019 10:41 pm
by hbelusca
Reactions wrote:
Wed Feb 20, 2019 8:33 pm
Cool. However, how can we expand the AI into drivers for example or rendering apis?
You don't, because the AI won't know what to do.
To make it write a correct driver for a given piece of hardware, one would have first to formalize the whole spec etc etc...

Re: Help wanted! Python based ReactOS patcher/developer.

Posted: Thu Feb 21, 2019 12:25 am
by Reactions
Let's make a list of what we want the AI to do... Suggestions?

Phrase after phrase or letter after letter?

Re: Help wanted! Python based ReactOS patcher/developer.

Posted: Thu Feb 21, 2019 1:05 am
by hbelusca
Reactions wrote:
Thu Feb 21, 2019 12:25 am
Let's make a list of what we want the AI to do... Suggestions?

Phrase after phrase or letter after letter?
One prerequisite is that the AI should know the C/C++ syntax: its basic keywords and how/when to use them, the rules of parenthesizing, the operators...
It should better be described using Backus-Naur form (BNF) notation, and I think this should be an input you give to the AI, it doesn't have to be trained on that.
What the AI should be trained on, is about programming patterns: using coding patterns (simple suite of instructions) in order to solve a given problem.

Re: Help wanted! Python based ReactOS patcher/developer.

Posted: Thu Feb 21, 2019 1:10 am
by Reactions
Ok, I don't really know c++. Could you please genetate a list or point me to one. Can you help program it?