← Nieuwste papers
🤖 machine learning

SmartOracle -- An Agentic Approach to Mitigate Noise in Differential Oracles

SmartOracle introduceert een agentisch framework dat gebruikmaakt van gespecialiseerde Large Language Model sub-agenten om de nauwkeurigheid van differentiële oracles voor JavaScript-fuzzing te automatiseren en te verbeteren, wat de handmatige inspanning, kosten en fout-positieven aanzienlijk vermindert terwijl het succesvol voorheen onbekende specificatie-niveau bugs in belangrijke engines heeft geïdentificeerd.

Oorspronkelijke auteurs: Srinath Srinivasan, Tim Menzies, Marcelo D'Amorim

Gepubliceerd 2026-01-22
📖 5 min leestijd🧠 Diepgaand

Oorspronkelijke auteurs: Srinath Srinivasan, Tim Menzies, Marcelo D'Amorim

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Het Probleem: De "Naald in een Hooiberg" van Computerfouten

Stel je voor dat je drie verschillende merken koffiezetapparaten aan het testen bent (laten we ze Merk A, Merk B en Merk C noemen) om te zien of ze allemaal koffie op dezelfde manier zetten. Je giet exact dezelfde hoeveelheid water en bonen in alle drie de apparaten.

  • Het Doel: Je wilt een "bug" vinden waarbij één machine koffie zet die anders smaakt dan de andere.
  • De Realiteit: Meestal smaken de machines iets anders. Misschien is de koffie van Merk A een klein beetje heter, of is de kop van Merk B iets groter. Dit zijn onschuldige verschillen (ruis). Ze zijn niet kapot; ze werken gewoon anders.
  • De Nachtmerrie: Als je deze test 10.000 keer uitvoert, krijg je 10.000 "verschillen". Een menselijke expert moet naar elk enkel kijken om te beslissen: "Is dit een kapot apparaat (een bug), of gewoon een normale variatie?"

Dit is het probleem met Differential Fuzzing in software (specifiek JavaScript-engines zoals die in Chrome, Safari en Firefox). Computers vinden miljoenen verschillen, maar 99% daarvan is onschadelijk. Menselijke experts raken overweldigd door de "ruis" en missen de echte bugs.

De Oplossing: Maak kennis met "SmartOracle"

De auteurs hebben SmartOracle ontwikkelt, wat te vergelijken is met het inhuren van een team gespecialiseerde AI-detectives in plaats van één algemene detective voor al het werk te vragen.

In plaats van één grote, trage AI die het hele rapport probeert te lezen, verdeelt SmartOracle de taak onder een team van Agents, die elk een specifieke rol hebben:

  1. De Discrepancy Finder (Verschilzoeker): Deze agent kijkt naar de twee verschillende outputs en zegt: "Oké, Merk A zei 'Hallo' en Merk B zei 'Hoi'. Hier is precies waar ze verschillen."
  2. De Specification Checker (Specificatiecontroleur): Deze agent is de "Regelboek-expert". Hij gaat naar de officiële handleiding (de JavaScript-specificatie) en vraagt: "Zegt het regelboek dat ze hetzelfde moeten zeggen?"
  3. De Critic (Criticus): Deze agent is de "Advocaat van de Duivel". Hij bekijkt het werk van de andere twee agents en zegt: "Wacht even, het regelboek staat toe dat Merk B in deze specifieke situatie 'Hoi' zegt. Dit is geen bug; het is een vals alarm."
  4. De Orchestrator (Orchestrator): Dit is de teamleider die alle aanwijzingen bij elkaar brengt en de definitieve beslissing neemt: REPORT (het is een echte bug) of SKIP (het is gewoon ruis).

Hoe ze het hebben getest

De onderzoekers hebben dit team van AI-agents getest tegen twee zaken:

  1. Historische Bugs: Ze voerden het systeem bekende bugs uit het verleden, om te zien of de AI deze kon vinden.
  2. Nieuwe Fuzzing: Ze lieten het systeem live tests draaien op de nieuwste versies van grote browsers (Chrome, Safari, etc.) om te zien of het nieuwe bugs kon vinden die mensen nog niet hadden gevonden.

De Resultaten: Sneller, Goedkoper en Slimmer

Het paper beweert dat SmartOracle een enorme verbetering is ten opzichte van de oude methode:

  • Betere Nauwkeurigheid: Het ving 84% van de echte bugs (Recall) terwijl het slechts 18% van de onschadelijke verschillen als bugs markeerde (False Positives).
  • Veel Sneller: Het analyseerde een probleem 4 keer sneller dan één enkele, enorme AI-modellen die alles tegelijk probeert te doen.
  • Veel Goedkoper: Het kostte 10 keer minder om het te draaien.
    • Analogie: Denk aan het inhuren van een team van drie junior monteurs (die snel en goedkoop zijn) die zich in verschillende onderdelen van een auto specialiseren, versus het inhuren van één peperdure meestermonteur die alles alleen probeert te repareren. Het team krijgt de klus sneller gedaan en voor minder geld.
  • Echte Ontdekkingen: In live testen vond SmartOracle 8 nieuwe bugs in grote browsers die nog niemand kende. Eén hiervan was een ernstige parsing-bug in GraalJS die de ontwikkelaars direct hebben opgelost.

Het "Geheime Recept": Semi-Supervised Labeling

Het paper vermeldt ook een slimme truc die ze gebruikten om het systeem te trainen en te testen zonder dat er mensen nodig waren om elke fout handmatig te labelen.

  • De Analogie: Stel je voor dat je een enorme stapel door elkaar gehusselde post hebt (sommige zijn rekeningen, sommige zijn reclamefolders, sommige zijn liefdesbrieven). Je hebt geen tijd om alles te lezen.
  • De Truc: Je groepeert de post op de kleur van de envelop (Exit Codes). Je gaat ervan uit dat alle rode enveloppen rekeningen zijn. Je leest één rode envelop om te bevestigen dat het een rekening is, en vervolgens label je automatisch de rest van de rode enveloppen als "rekeningen" zonder ze te lezen.
  • Het Resultaat: Deze "Semi-Supervised" methode stelde hen in staat om zeer snel en accuraat een enorme testdataset op te bouwen, wat bewijst dat je niet elke stuk post hoeft te lezen om te weten wat het is.

Samenvatting

SmartOracle is een nieuwe manier om computersoftware te testen. In plaats van menselijke experts te laten verdrinken in een zee van "misschien-bugs", gebruikt het een team van gespecialiseerde AI-agents om de regels te lezen, het bewijs te controleren en de ruis weg te filteren. Het is sneller, goedkoper en beter in het vinden van echte bugs dan eerdere methoden, en het heeft al succesvol nieuwe problemen gevonden in de software die het internet aandrijft.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →