kth.sePublikationer
Ändra sökning
RefereraExporteraLänk till posten
Permanent länk

Direktlänk
Referera
Referensformat
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annat format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annat språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf
Translation Validation for the HotSpot C2 Just-in-Time Compiler
KTH, Skolan för elektroteknik och datavetenskap (EECS).
2025 (Engelska)Självständigt arbete på avancerad nivå (masterexamen), 20 poäng / 30 hpStudentuppsats (Examensarbete)Alternativ titel
Översättningsvalidering för HotSpots just-in-time-kompilator C2 (Svenska)
Abstract [en]

The HotSpot Java Virtual Machine is one of the most popular runtime environments for numerous programming languages. A large portion of web services and other software depend on HotSpot’s correctness and safety. However, various bugs and exploits have been discovered over HotSpot’s three decades of development. This raises the question of how we can effectively detect and prevent bugs within HotSpot. In this thesis, we focus on the verification of an important component of HotSpot, the C2 compiler, which carries out the heaviest optimizations. Traditional ways of testing compilers include unit tests, integration tests, fuzzing, and formal verification. While these methods have been widely used in practice, they suffer from the problem of either being too costly to exhaust all search space or being too difficult to scale up in the size of the compiler. Translation validation is an emerging approach that takes a middle ground between these methods and uses formal techniques to fully verify individual compilations over all possible inputs. Translation validation has been successfully applied to a number of compilers, including JavaScript’s V8 engine and LLVM, and has been able to detect hundreds of new bugs within them. This thesis explores applying translation validation to the HotSpot C2 compiler by designing, implementing, and evaluating a verification tool. Our evaluation results show that our tool is capable of detecting bugs in HotSpot, and the verification time of our tool has good scalability in the size of randomly generated programs.

Abstract [sv]

Den virtuella Java-maskinen HotSpot är en av de mest populära körtidsmiljöerna för flera olika programmeringsspråk. En stor del av webbtjänster och annan mjukvara beror på HotSpots korrekthet och säkerhet. Olika buggar och exploateringar har dock uppdagats under HotSpots tre årtionden av utveckling. Detta väcker frågan om hur vi effektivt kan upptäcka och förebygga buggar i HotSpot. Det här arbetet fokuserar på verifieringen av en viktig komponent i HotSpot, C2-kompilatorn, som utför de tyngsta optimeringarna. Traditionella sätt att testa kompilatorer på inkluderar enhetstester, integrationstester, fuzzing och formell verifiering. Även om dessa metoder har använts i stor utsträckning i praktiken lider de av problemet att antingen vara för kostsamma för att uttömma allt sökutrymme, eller att vara för svåra att skala upp i kompilatorns storlek. Översättningsvalidering är en framväxande metod som tar en medelväg mellan dessa metoder och använder formella tekniker för att fullständigt verifiera individuella kompileringar över alla möjliga indata. Översättningsvalidering har tillämpats framgångsrikt på ett antal kompilatorer, inklusive JavaScripts V8-motor och LLVM, och har kunnat upptäcka hundratals nya buggar i dem. Det här arbetet utforskar tillämpningen av översättningsvalidering för C2-kompilatorn i HotSpot genom att designa, implementera och utvärdera ett verifieringsverktyg. Våra utvärderingsresultat visar att vårt verktyg kan upptäcka buggar i HotSpot, och att verifieringstiden för vårt verktyg har god skalbarhet i storleken av slumpmässigt genererade program.

Ort, förlag, år, upplaga, sidor
2025. , s. 64
Serie
TRITA-EECS-EX ; 2025:487
Nyckelord [en]
Translation Validation, Java Virtual Machine, Intermediate Representations, Semantics
Nyckelord [sv]
Översättningsvalidering, Virtuell Java-maskin, Intermediära representationer, Programsemantik
Nationell ämneskategori
Data- och informationsvetenskap
Identifikatorer
URN: urn:nbn:se:kth:diva-368250OAI: oai:DiVA.org:kth-368250DiVA, id: diva2:1987997
Externt samarbete
Oracle Global Services Sweden AB
Handledare
Examinatorer
Tillgänglig från: 2025-08-28 Skapad: 2025-08-09 Senast uppdaterad: 2025-08-28Bibliografiskt granskad

Open Access i DiVA

fulltext(1907 kB)121 nedladdningar
Filinformation
Filnamn FULLTEXT01.pdfFilstorlek 1907 kBChecksumma SHA-512
e6ef97eef84f72328240a40f7624329bea1c6b19b92139362d94e78a0e3dbb3914a196fc1c7e4b13458a216d24db31d4cdd094fdf92bf9d450b27069f7fbe5c2
Typ fulltextMimetyp application/pdf

Av organisationen
Skolan för elektroteknik och datavetenskap (EECS)
Data- och informationsvetenskap

Sök vidare utanför DiVA

GoogleGoogle Scholar
Totalt: 121 nedladdningar
Antalet nedladdningar är summan av nedladdningar för alla fulltexter. Det kan inkludera t.ex tidigare versioner som nu inte längre är tillgängliga.

urn-nbn

Altmetricpoäng

urn-nbn
Totalt: 766 träffar
RefereraExporteraLänk till posten
Permanent länk

Direktlänk
Referera
Referensformat
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annat format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annat språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf