Vinnaren i pepparkakshustävlingen!
  • 1
  • 2
2020-11-24, 07:55
  #1
Medlem
magis avatar
--

Alla program i en dator är extremt logisk maskinkod.

Varför kan man inte sätta en artificiell intelligens på att analysera all open source kod och och dess maskinkod, för att få en AI som kan översätta all maskinkod till vilket programspråk som helst.

Vi har idag dekompilatorer som gör detta delvis och nu ganska bra.
Men kan man med AI ta fram en dekompilator till vilket språk som helst?
Man tycker ju att det med tiden borde gå.

Någon som jobbar på detta?
Någon som vill hjälpa till?

MagI
---
Citera
2020-11-24, 09:01
  #2
Avstängd
guderis avatar
Fungerar väl troligtvis i teorin, men finns en del svårigheter att omsätta i praktiken skulle jag tro. Det svåra är väl att kunna förutse diverse kompilatoroptimeringar och hur olika översättningssteg kan variera mellan olika hårdvara och olika utvecklare. Sen när du skriver "all open source kod" så blir det ju en ganska omfattande databas med träningsdata.
Citera
2020-11-24, 10:10
  #3
Medlem
magis avatar
---

Man får nog börja träna en AI dekompilator för varje programspråk,
till en början och när de fungerar, kan man kanske sedan välja vilken maskinkod som helst och få den i just det program språk man behöver.

Man kanske kan anställa ett kodproffs i just det språk han arbetar bäst med och sedan översätta allt man har till just hans för att kunna anställa honom.

En AI dekompilator kanske kan ta en rörig kod, kompilera den till maskinkod och sedan dekompilera den tillbaka till samma språk, men då perfekt optimalt kodat utan alla buggar.

Osv osv....

MagI
----
__________________
Senast redigerad av magi 2020-11-24 kl. 10:13.
Citera
2020-11-24, 14:27
  #4
Medlem
Pansarhanes avatar
Så, basically, en transpiler som drivs av maskininlärning?
Citera
2020-11-24, 18:45
  #5
Medlem
magis avatar
Citat:
Ursprungligen postat av Pansarhane
Så, basically, en transpiler som drivs av maskininlärning?


Typ ja


MagI
----
Citera
2020-11-24, 19:15
  #6
Moderator
vhes avatar
Python --> Övriga utvecklingsfrågor
/Moderator
Citera
2020-11-26, 16:42
  #7
Medlem
JohannesSnajdares avatar
Ett stort problem är att i princip all information som t.ex. variabelnamn, funktionsnamn går förlorad i kompileringen och är väldigt svår att återskapa från maskinkoden.

En traditionell dekompilator ger dig i princip programkod där variabler heter typ "i1, i2, i3" och funktioner "f1(), f2()"...

Att du kan få det i Basic eller C++ spelar liksom mindre roll - det blir ändå väldigt svårt och ansträngande att följa och göra något vettigt med.

Nyckeln i förståelig kod ligger ju i att variabler & funktioner har vettiga och logiska namn givet den kontext där de används, t.ex. "gatewayTimeoutSeconds", "findDuplicates()" eller "sendCustomerInvoice()".

AI:n måste då alltså förstå _hur_ variabeln/funktionen är tänkt användas för att därmed kunna ge den ett bra namn.

Svårt.
Citera
2020-11-26, 18:09
  #8
Medlem
Bleppe_Bfs avatar
Citat:
Ursprungligen postat av magi
--

Alla program i en dator är extremt logisk maskinkod.

Varför kan man inte sätta en artificiell intelligens på att analysera all open source kod och och dess maskinkod, för att få en AI som kan översätta all maskinkod till vilket programspråk som helst.

Vi har idag dekompilatorer som gör detta delvis och nu ganska bra.
Men kan man med AI ta fram en dekompilator till vilket språk som helst?
Man tycker ju att det med tiden borde gå.

Någon som jobbar på detta?
Någon som vill hjälpa till?

MagI
---

I princip allting går att göra med AI om du har tillräckligt mycket data och beräkningskraft men här måste du ju förklara syftet.

Om det inte är att göra reverse engineering av sluten programvara och du redan sitter med källkoden då du vill utgå ifrån open source kod, vad skulle vinsterna vara med att byta språk på open source kod som i slutändan kompileras till maskinkod ändå?

Det jag hör(läser) här är i princip en google translate för programmeringsspråk.
Med tanke på hur pass kass maskinöversättning är i dagsläget trots en ofantlig mängd data att träna den med och världens största maskinparker som man tränat den så ser det inte ljust ut.

Så här bra funkar google translate t.ex

https://youtu.be/2R1kTSALi1U?t=70

https://youtu.be/3-rfBsWmo0M

Är det inte mer meningsfullt att utveckla en AI kompilator som gör koden mer optimerad?
__________________
Senast redigerad av Bleppe_Bf 2020-11-26 kl. 18:21.
Citera
2020-11-27, 19:55
  #9
Medlem
magis avatar
--

Om man kan lära en AI att översätta maskinkod till ett programspråk,
så kan vem som helst se hur källkoden ser ut och utveckla den till en egen version.

Allt blir då open source och alla kan bygga om allt.
Tror att utvecklingen av dagens programvara skulle öka.

Eller vad tror ni skulle hända om alla kan se hur allt är kodat?

Finns det någon här som arbetar med AI och som tror detta kan bli möjligt eller när kan en AI utvecklas för att översätta maskinkod till källkod?
Om 10 år?
Eller 50 år?

MagI
---
Citera
2020-11-27, 21:24
  #10
Moderator
vhes avatar
Citat:
Ursprungligen postat av magi
Om man kan lära en AI att översätta maskinkod till ett programspråk,
så kan vem som helst se hur källkoden ser ut och utveckla den till en egen version.

Allt blir då open source och alla kan bygga om allt.
Tror att utvecklingen av dagens programvara skulle öka.

Mja, som JohannesSnajdare ovan konstaterar så kommer du ju som bäst få vad som kan betraktas som en obfuskerad version av källkoden. Och att vidaredistribuera den, eller program baserade på den kommer ju fortsätta vara upphovsrättsintrång och därmed förknippat med en hel del praktiska problem.

Under tiden så växer "riktig" Open Source så sakteliga ändå.
Citera
2022-07-25, 12:12
  #11
Medlem
magis avatar
--------
Det har gått några månader sedan sista inlägget.

Jag har nu testat GitHub copilot
https://github.com/features/copilot
och copilot labs.
https://githubnext.com/projects/copilot-labs/
och GitHub codespaces.
https://github.com/features/codespaces

Har provat detta i mer än ett år
och det är absolut fantastiskt.


Har tex suttit med en raspberry pi och kört tunga repos från GitHub
i en browser på en raspberry pi
i codespaces med copilot och labs
och det fungerar fantastiskt bra.

Har också följt utvecklingen av AI och framstegen man gjort inom AI är enorma.

Så jag frågar igen.

När har vi en AI dekompilator,
som kan ta vilket program som helst
och be den ta fram den rekommenderad compilerbara koden
eller kunna välja programspråk från lista ?

5 år ?
20 år ?

Tror det redan finns med tanke på hur copilot funkar.

Eller vad tror ni?
Någon som provat dekompilatorer med AI ?


MagI
--------
Citera
2022-07-25, 12:48
  #12
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av magi
--------
Det har gått några månader sedan sista inlägget.

Jag har nu testat GitHub copilot
https://github.com/features/copilot
och copilot labs.
https://githubnext.com/projects/copilot-labs/
och GitHub codespaces.
https://github.com/features/codespaces

Har provat detta i mer än ett år
och det är absolut fantastiskt.


Har tex suttit med en raspberry pi och kört tunga repos från GitHub
i en browser på en raspberry pi
i codespaces med copilot och labs
och det fungerar fantastiskt bra.

Har också följt utvecklingen av AI och framstegen man gjort inom AI är enorma.

Så jag frågar igen.

När har vi en AI dekompilator,
som kan ta vilket program som helst
och be den ta fram den rekommenderad compilerbara koden
eller kunna välja programspråk från lista ?

5 år ?
20 år ?

Tror det redan finns med tanke på hur copilot funkar.

Eller vad tror ni?
Någon som provat dekompilatorer med AI ?


MagI
--------
Oinsatt gissning: Närmare 20 år än 5 år med dagens teknik, men om det görs ett "technology leap" mot kvantdatorer kan det gå betydligt snabbare. Det finns inte nu, annars hade du väl inte frågat?
Citera
  • 1
  • 2

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback