Answers.Body: <p>Remarkably, more or less the scenario you describe is not only feasible and has already been demonstrated <a href="https://worldmodels.github.io/" rel="nofollow noreferrer">(detailed explanation and fascinating videos at link)</a>.</p>
  
  <p>However, the fidelity of the copy is currently quite limited:
  <a href="https://i.sstatic.net/FO0Af.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/FO0Af.png" alt="enter image description here"></a></p>
  
  <p>So for now, your copy will be quite low quality.  However, there is a big exception to this rule: if the software you are copying is itself based on machine learning, then you can probably make a high-quality copy quite cheaply and easy, <a href="https://medium.com/@damilare/pirating-ai-800a8da6431b" rel="nofollow noreferrer">as I and my co-authors explain in this short article.</a></p>
  
  <p>Interesting question and I'm quite sure that the correct answer will change rapidly over the next few years.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-01-14T13:14:11.600Z
Answers.Text: you have no idea how much this is EXACTLY what i wanted to hear (or read)
Answers.UserDisplayName: IpsumPanEst
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-01-14T13:18:17.900Z
Answers.Text: are there evil capitalist responses to this? As in, trying to make this illegal or something...
Answers.UserDisplayName: IpsumPanEst
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-01-14T13:31:17.580Z
Answers.Text: Also, how much power (computing, physical, intellectual) does this require at the moment?
Answers.UserDisplayName: IpsumPanEst
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-01-15T14:13:03.823Z
Answers.Text: @IpsumPanEst Actually, reverse-engineering is a perfectly respectable *free market* idea that helps to keep our market nice and dynamic.  Definitely something that terms of service may try to restrict for obvious reasons, but reverse engineering is an important part of keeping markets competitive.
Answers.UserDisplayName: Edward Dixon
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-01-15T14:13:20.760Z
Answers.Text: @IpsumPanEst Power/compute requirements are really modest for copying machine learning services, but very immodest (probably not practical) for copying conventional software (and, the fidelity will be low), but this is a very active area of research & you should expect non-linear progress.
Answers.UserDisplayName: Edward Dixon
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-01-15T18:35:38.743Z
Answers.Text: Dear @Edward I recommend that you read Max Tegmarks book LIFE 3.0 because in it he has some excellent thought-examples of how A.I.'s could create and market their "home made" videos, tv shows and series and even enter subliminal messages that could in theory affect peoples judgment when it comes to elections or choices regarding limiting A.I.'s influence etc. Read the book! https://en.wikipedia.org/wiki/Life_3.0
Answers.UserDisplayName: Don King
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-01-16T11:55:12.573Z
Answers.Text: Dear @EdwardDixon. If this praxis (automating reverse-engineering) actually helps big capital and not the people, i'm not gonna be a part of it.
Answers.UserDisplayName: IpsumPanEst
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-01-16T12:26:56.383Z
Answers.Text: @IpsumPanEst if you think about the second-order effects of reverse engineering, it increases competition (think scrappy startup learning from strengths, weaknesses of incumbent's products) => downward pressure on big company margins => increased consumer surplus for the litle guy.
Answers.UserDisplayName: Edward Dixon
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-01-16T12:49:13.867Z
Answers.Text: i was thinking more of something closer to: make all software free and accessible to all people, not just so small startups can be competitive. To make charging for software an obsolete anti-praxis.
Answers.UserDisplayName: IpsumPanEst
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-01-16T13:11:55.983Z
Answers.Text: politics apart, the implications for imago-mundi creation in sentient beings' minds is absolutely awesome for philosophy of mind. We might learn a lot about consciousness through ML and your program
Answers.UserDisplayName: IpsumPanEst
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-01-14T13:10:42.613Z
Answers.LastActivityDate: 2019-01-14T13:10:42.613Z
Answers.UserDisplayName: Edward Dixon
Answers.Body: <p>This is the proposed way to reverse engineer software using AI.</p>
  
  <ul>
  <li>Program fake_user operates program target_prog in diverse ways to generate a huge and comprehensive data set.</li>
  <li>The parameters of an artificial network are trained to produce within specified accuracy and reliability criteria a behavioral equivalent of target_prog.</li>
  </ul>
  
  <p>Not only is this possible, but it is becoming standard practice for AI projects other than reverse engineering games.</p>
  
  <p>There are caveats.</p>
  
  <ul>
  <li>Program target_prog may be of sufficient complexity to exceed the capabilities of existing network designs and convergence techniques.</li>
  <li>The project may lack access to funds and computing resources to complete the generation and training required to achieve reasonable accuracy, with sufficient reliability, in the time allotted.</li>
  <li>The expertise of those involved may not be sufficient to produce satisfactory results.</li>
  <li>Although the source code is not copied and the parameter state achieved through learning contains equivalent functionality, there is no guarantee that a civil liability may not result. Copyright law one or more jurisdictions may be interpreted as a protection against this kind of copying even though the text of the source code was not copied verbatim.</li>
  </ul>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-01-23T08:29:22.927Z
Answers.LastActivityDate: 2019-01-23T08:29:22.927Z
Answers.UserDisplayName: Douglas Daseeco
Answers.Body: <p>A recent paper from January 2023 does this too: &quot;an algorithm that synthesizes the source code of simple 2D video games from a small amount of observed video data&quot;
  <a href="https://www.basis.ai/blog/autumn/" rel="nofollow noreferrer">https://www.basis.ai/blog/autumn/</a></p>
  <p>Original research article: <a href="https://dl.acm.org/doi/10.1145/3571249" rel="nofollow noreferrer">https://dl.acm.org/doi/10.1145/3571249</a></p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-05-12T03:29:37.577Z
Answers.Text: Why do I suddenly have ants in my pants? :)
Answers.UserDisplayName: Diagon
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-02-10T21:42:01.183Z
Answers.LastActivityDate: 2023-02-10T21:42:01.183Z
Answers.UserDisplayName: MarioT
Body: <p>I was thinking of something of the sort:</p>
  
  <ol>
  <li><p>Build a program (call this one fake user) that generates lots and lots and lots of data based on the usage of another program (call this one target) using stimuli and response. For example, if the target is a minesweeper, the fake user would play the game a carl sagan number of times, as well as try to click all buttons on all sorts of different situations, etc...</p></li>
  <li><p>run a machine learning program (call this one the copier) designed to evolve a code that works as similar as possible to the target. </p></li>
  <li><p>kablam, you have a "sufficiently nice" open source copy of the target.</p></li>
  </ol>
  
  <p>Is this possible?</p>
  
  <p>Is something else possible to achieve the same result, namely, to obtain a "sufficiently nice" open source copy of the original target program?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2019-01-14T13:18:47.217Z
Comments.Text: Perhaps I should add a disclaimer: I am not a computer scientist, but I'm learning to code (python). I'm a m.sc. in math.
Comments.UserDisplayName: IpsumPanEst
Tags: <machine-learning><deep-learning><applications>
Title: Is it possible to use AI to reverse engineer software?
UserDisplayName: IpsumPanEst
ThreadText: # Is it possible to use AI to reverse engineer software?
  
  (Asked by: username_0 on 2019-01-14)
  
  I was thinking of something of the sort:
  
  1. Build a program (call this one fake user) that generates lots and lots and lots of data based on the usage of another program (call this one target) using stimuli and response. For example, if the target is a minesweeper, the fake user would play the game a carl sagan number of times, as well as try to click all buttons on all sorts of different situations, etc...
  2. run a machine learning program (call this one the copier) designed to evolve a code that works as similar as possible to the target.
  3. kablam, you have a "sufficiently nice" open source copy of the target.
  
  Is this possible?
  
  Is something else possible to achieve the same result, namely, to obtain a "sufficiently nice" open source copy of the original target program?
  
  **Tags:** machine-learning, deep-learning, applications
  > **Comments:**
  > **username_0**: Perhaps I should add a disclaimer: I am not a computer scientist, but I'm learning to code (python). I'm a m.sc. in math.  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_1 on 2019-01-14. Score: 2
  
  Remarkably, more or less the scenario you describe is not only feasible and has already been demonstrated [(detailed explanation and fascinating videos at link)](https://worldmodels.github.io/).
  
  However, the fidelity of the copy is currently quite limited:
  [![enter image description here](https://i.sstatic.net/FO0Af.png)](https://i.sstatic.net/FO0Af.png)
  
  So for now, your copy will be quite low quality. However, there is a big exception to this rule: if the software you are copying is itself based on machine learning, then you can probably make a high-quality copy quite cheaply and easy, [as I and my co-authors explain in this short article.](https://medium.com/@damilare/pirating-ai-800a8da6431b)
  
  Interesting question and I'm quite sure that the correct answer will change rapidly over the next few years.
  
  > **Comments:**
  > **username_0**: you have no idea how much this is EXACTLY what i wanted to hear (or read)  
  > **username_0**: are there evil capitalist responses to this? As in, trying to make this illegal or something...  
  > **username_0**: Also, how much power (computing, physical, intellectual) does this require at the moment?  
  > **username_1**: @IpsumPanEst Actually, reverse-engineering is a perfectly respectable *free market* idea that helps to keep our market nice and dynamic.  Definitely something that terms of service may try to restrict for obvious reasons, but reverse engineering is an important part of keeping markets competitive.  
  > **username_1**: @IpsumPanEst Power/compute requirements are really modest for copying machine learning services, but very immodest (probably not practical) for copying conventional software (and, the fidelity will be low), but this is a very active area of research & you should expect non-linear progress.  
  > **username_2**: Dear @Edward I recommend that you read Max Tegmarks book LIFE 3.0 because in it he has some excellent thought-examples of how A.I.'s could create and market their "home made" videos, tv shows and series and even enter subliminal messages that could in theory affect peoples judgment when it comes to elections or choices regarding limiting A.I.'s influence etc. Read the book! https://en.wikipedia.org/wiki/Life_3.0  
  > **username_0**: Dear @EdwardDixon. If this praxis (automating reverse-engineering) actually helps big capital and not the people, i'm not gonna be a part of it.  
  > **username_1**: @IpsumPanEst if you think about the second-order effects of reverse engineering, it increases competition (think scrappy startup learning from strengths, weaknesses of incumbent's products) => downward pressure on big company margins => increased consumer surplus for the litle guy.  
  > **username_0**: i was thinking more of something closer to: make all software free and accessible to all people, not just so small startups can be competitive. To make charging for software an obsolete anti-praxis.  
  > **username_0**: politics apart, the implications for imago-mundi creation in sentient beings' minds is absolutely awesome for philosophy of mind. We might learn a lot about consciousness through ML and your program  
  
  ---
  
  ### Answer by username_3 on 2019-01-23. Score: 1
  
  This is the proposed way to reverse engineer software using AI.
  
  * Program fake\_user operates program target\_prog in diverse ways to generate a huge and comprehensive data set.
  * The parameters of an artificial network are trained to produce within specified accuracy and reliability criteria a behavioral equivalent of target\_prog.
  
  Not only is this possible, but it is becoming standard practice for AI projects other than reverse engineering games.
  
  There are caveats.
  
  * Program target\_prog may be of sufficient complexity to exceed the capabilities of existing network designs and convergence techniques.
  * The project may lack access to funds and computing resources to complete the generation and training required to achieve reasonable accuracy, with sufficient reliability, in the time allotted.
  * The expertise of those involved may not be sufficient to produce satisfactory results.
  * Although the source code is not copied and the parameter state achieved through learning contains equivalent functionality, there is no guarantee that a civil liability may not result. Copyright law one or more jurisdictions may be interpreted as a protection against this kind of copying even though the text of the source code was not copied verbatim.
  
  
  ---
  
  ### Answer by username_4 on 2023-02-10. Score: 0
  
  A recent paper from January 2023 does this too: "an algorithm that synthesizes the source code of simple 2D video games from a small amount of observed video data"
  <https://www.basis.ai/blog/autumn/>
  
  Original research article: <https://dl.acm.org/doi/10.1145/3571249>
  
  > **Comments:**
  > **username_5**: Why do I suddenly have ants in my pants? :)  
  
  ---
  
  