rutin

(routine) – en följd av instruktioner i program­­kod som anger hur en viss upp­gift ska ut­föras. – Om rutinen är skriven för att kunna anropas vid behov (så att programmeraren slipper skriva samma kod flera gånger) kallas den också för subrutin. Rutiner för styrning av skrivare och annan yttre utrust­ning kallas för drivrutiner. – Subrutiner kallas också för procedurer, men i vissa samman­­hang delar man upp rutiner i funktioner och proce­durer.

[programmering] [22 november 2017]

Common language infrastructure

(CLI) – en öppen standard, utvecklad av Micro­soft, för hur olika programspråk ska kunna an­vändas i utvecklingsmiljön Dot­net. – CLI presenterades 2001 och har blivit en internationell standard (se ISO:s webbsidor). – Tanken bakom CLI är att program skrivna i olika programspråk ska kunna köras i Dotnet­miljö utan ändringar. Enkelt uttryckt kompileras programkoden först till ett mellanspråk, Common intermediate language (CIL). CIL‑kod kan sedan köras på den virtuella maskinen CLR (Common language run­time). CIL‑kod kan alltså köras på vilken dator och vilket operativ­system som helst, förutsatt att det finns en CLR för den miljön. – Mer i Wikipedia.

[programmering] [ändrad 11 januari 2023]

runtime error

körfel, exekveringsfel – problem som uppstår när man kör ett pro­gram. (Alltså vid run­time.) Pro­blemet kan bero på fel i pro­gram­koden eller på en oför­ut­sedd kon­flikt mellan pro­grammet och datorn.

[programkörning] [ändrad 17 november 2018]

källkod

(source code eller bara source; översättningen källa förekommer) – instruktion­er till dator, skrivna i ett programspråk. – Källkod kan skrivas för ett komplett program, för en del av ett pro­­gram eller för en speciell funktion, till exempel för en driv­­­rutin. Källkod skrivs i programspråk för att den ska vara begriplig för människor, förutsatt att de har de förkunskaper som behövs. Källkod brukar också innehålla kommentarer från programmeraren, avsedd för andra programme­rare som senare ska ändra eller utöka källkoden. Alternativet till att skriva källkod är att skriva direkt i maskinkod, vilket är mycket svårare, och dessutom har andra nackdelar. – Men efter­som datorns processor inte kan bearbeta käll­kod som den är måste källkoden innan den körs omvandlas till en form som processorn kan bearbeta, nämligen binärkod. (Att skriva maskinkod, som nämndes tidigare, är alltså att skriva binärkod direkt.) Innan källkoden har omvandlats till binärkod är den för datorn som vilket textdokument som helst. Det finns två sätt att omvandla källkod till binär­kod:

– Kompilering, som är vanligast, innebär att man gör omvandlingen i förväg. Man kör först källkoden genom en kompilator som konverterar den till binär­kod. Det som man installerar och kör på datorn är den färdiga binärkoden. – Interpretering inne­bär att det är käll­koden som installeras på datorn. Den översätts till binär­kod (interpreteras eller tolkas) varje gång programmet körs. En programtolk översätter då källkoden till binär­­kod under körningen. – Program­­språk som Java är en speciell typ av interpreterade språk. I Java över­sätts källkoden först till något som kallas för bytekod. Bytekoden körs i en virtuell maskin, anpassad för den datortyp som programmet körs på. – Även koden till en webb­­sida, skriven i HTML eller XML, är ett slags käll­kod.

[programmering] [ändrad 14 maj 2017]

bytekod

den kompilerade formen av pro­gram­­språket Java och Common intermediate language (CLI). Byte­­kod är inte samma sak som binär­­kod, för bytekod kan inte köras direkt i en dator. Byte­kod måste först tolkas (interpreteras) till binär­­kod i en virtuell maskin för Java respektive CLI, avsedd för den dator­­typ som programmet ska köras på. (Byte­­kod är så kallad managed codeindirekt körbar kod.) – På engelska: byte code.

[programmering] [ändrad 15 mars 2020]

bakdörr

icke do­ku­ment­e­rad möj­lig­het att ta sig in i ett program eller ett system så att man kan göra ändringar, obe­ro­ende av de vanliga skydden. – Programmerare lägger ofta in bakdörrar i program för att kunna rätta till fel i efter­hand. Detta kan vara legitimt eller otillåtet be­ro­ende på omständigheterna. Bakdörrar installeras också av angrip­are, till exempel av datavirus. – På engelska: back door eller trap door.

[it-säkerhet] [programmering] [ändrad 30 oktober 2018]

dekompilering

(reverse engineering) – även: bakåtkompilering – rekonstruktion av källkoden till ett program genom analys av binär­koden. – Efter­som syftet med dekompilering kan vara att stjäla program­kod betraktas dekompilering ibland som oetiskt. Det kan till och med vara straffbart. Men dekompilering kan ha legitima syften, till exempel inom testning och utveck­ling av program för it‑säkerhet och virusskydd. – Det kan också behövas därför att källkoden har gått förlorad. – Läs också om obfuskering.

[it-säkerhet] [programmering] [upphovsrätt] [ändrad 14 maj 2017]

obfuskering

(obfuscation) – avsiktlig tillkrångling. – I it‑säker­het används ordet om:

  1. – avsiktlig tillkrångling av meddelanden i syfte att göra dem svårare för obehöriga att tolka dem. Kryptering räknas inte som obfuskering, utan ordet används om andra sätt att förvilla människor och maskiner;
  2. – överföring av meddelanden på sätt som gör det extra svårt för utomstående att upp­­snappa dem, att få tag på alla delar av ett meddelande och att lokalisera och identifiera användare och mottagare;
  3. – i programutveckling: avsiktlig tillkrångling av koden till ett program. När man kompilerar programmet använder man en obfuskator (på engelska obfuscator) som producerar en fullt användbar, men tilltrasslad binärkod. Syftet är att göra det svårt för andra att dekompilera källkoden, alltså att hindra dem från att rekonstruera den;
  4. – utveckling av program som kan användas och ger korrekt resultat, men som är kompilerade så att det är praktiskt taget omöjligt att räkna ut hur de fungerar. – Se black box obfuscator och indistinguishability obfuscation (osärskiljbar obfuskering);
  5. – tillägg av ovidkommande eller vilseledande personuppgifter i en personlig profil på sociala medier i syfte att försvåra kartläggning och analys.

– Läs också om crypting, deobfuskering och fördunkling. – Ordet: Av latinets ob-i riktning mot, i syfte att, och fuscare – att för­dunkla.

[it-säkerhet] [programmering] [ändrad 31 oktober 2022]