← Nieuwste papers
💻 computer science

Towards Automated Identification of Violation Symptoms of Architecture Erosion

Dit artikel presenteert een geautomatiseerde aanpak voor het identificeren van symptomen van architecturale erosie-schendingen in code reviews door traditionele machine learning, deep learning en large language models te vergelijken, waarbij wordt aangetoond dat LLM-gebaseerde classificatiesystemen de andere overtreffen en de detectiepercentages van ontwikkelaars in een gecontroleerd experiment aanzienlijk verbeteren.

Oorspronkelijke auteurs: Ruiyin Li, Peng Liang, Paris Avgeriou, Yifei Wang

Gepubliceerd 2026-07-07
📖 4 min leestijd☕ Koffiepauze-leesvoer

Oorspronkelijke auteurs: Ruiyin Li, Peng Liang, Paris Avgeriou, Yifei Wang

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

Stel je voor dat je een massief, ingewikkeld kasteel bouwt. Je hebt een meesterblauwdruk (de Architectuur) die zegt: "De keuken moet op de begane grond, en de bibliotheek moet op de bovenste verdieping." Dit plan zorgt ervoor dat het kasteel stabiel is, gemakkelijk te navigeren is en niet onder zijn eigen gewicht bezwijkt.

Echter, naarmate de tijd verstrijkt en verschillende bouwers kamers toevoegen en lekken repareren, kunnen ze per ongeluk een trap bouwen die de keuken rechtstreeks met de bibliotheek verbindt, of een zware kluis op de zolder plaatsen. Het kasteel blijft nog steeds staan, maar het volgt niet langer de blauwdruk. Deze langzame, sluipende afwijking wordt Architecturale Erosie genoemd. Het is als een termietenplaag in het ontwerp: je ziet het niet altijd totdat de hele structuur begint te wankelen.

Het Probleem: De Termieten Opsporen

Normaal gesproken zou je, om deze ontwerpfouten te vinden, een team van deskundige architecten moeten inhuren om de blauwdrukken en het werkelijke gebouw naast elkaar te bestuderen. Dit is traag, duur en fouten worden gemakkelijk over het hoofd gezien.

In de softwarewereld praten ontwikkelaars over deze fouten tijdens Code Reviews. Wanneer een programmeur een wijziging indient, lezen anderen het en laten ze opmerkingen achter zoals: "Hé, je kunt die database-aanroep hier niet plaatsen; dat overtreedt onze regels!" Deze opmerkingen zijn de "symptomen" van de erosie. Maar er zijn duizenden opmerkingen, en mensen worden moe. Ze kunnen de subtiele waarschuwingen missen.

De Oplossing: De Geautomatiseerde "Termietendetector"

De onderzoekers in dit artikel vroegen zich af: Kunnen we een slim computerprogramma bouwen dat deze opmerkingen leest en automatisch de opmerkingen markeert die klinken als architecturale schendingen?

Ze behandelden dit als een spelletje "Zoek de Verschillen" met drie verschillende soorten "hersenen":

  1. De Traditionele Hersenen (Machine Learning/Deep Learning): Dit zijn als getrainde honden. Je laat ze duizenden voorbeelden zien van "slechte opmerkingen" en "goede opmerkingen", en ze leren de slechte op te sporen.

    • Ze testten veel verschillende "snuffeltechnieken".
    • De Winnaar: Een specifiek type hond genaamd een SVM (Support Vector Machine), getraind met een specifieke woordenschat (word2vec), was het beste in deze taak. Het was ongeveer 80% van de tijd accuraat.
    • De Teamwerk-truc: Ze ontdekten dat als je vijf verschillende honden laat stemmen over of een opmerking slecht is, de groepsbeslissing zelfs beter is dan die van een enkele hond.
  2. De Super Hersenen (Large Language Models - LLM's): Dit zijn als geniale polymaths (denk aan een superintelligente bibliothecaris die elk boek in het universum heeft gelezen). Ze hoeven niet op jouw specifieke data te worden "getraind"; je vraagt ze gewoon: "Is dit een ontwerpovertreding?"

    • Ze testten drie van de slimste modellen die beschikbaar zijn: GPT-4o, Qwen-3 en DeepSeek-R1.
    • De Winnaar: GPT-4o was de superster. Het had het ongeveer 85% van de tijd bij het juiste eind, en versloeg de traditionele "honden". Het begreep de context en de nuance van de opmerkingen beter dan de anderen.

De Praktijktest: Helpt het echt?

Een detector bouwen is één ding; controleren of mensen het daadwerkelijk nuttig vinden, is iets anders. De onderzoekers deden twee dingen om dit te controleren:

  1. De Enquête (De Bouwers Vragen): Ze vroegen echte softwareontwikkelaars: "Als een tool deze ontwerpfouten aan jou zou aanwijzen, zou dat helpen?"

    • De Resultaat: De meesten zeiden Ja. Ze vonden dat het hen zou helpen om problemen sneller te vinden en prioriteit te geven aan welke ze eerst moesten oplossen. Het is als een zaklamp die de losse stenen in een donkere kamer uitlicht.
  2. Het Experiment (De "Met vs. Zonder" Test): Ze zetten een gecontroleerde test op met twee groepen ontwikkelaars.

    • Groep A (De Controlegroep): Moest op eigen kracht ontwerpfouten in code reviews vinden.
    • Groep B (De Experimentele Groep): Kreeg dezelfde taak, maar de computer-tool highlightte de opmerkingen die klonken als schendingen.
    • Het Resultaat: Groep B was veel beter. Hun succespercentage in het vinden van de fouten sprong van 26% naar 65%. De tool vond niet alleen de fouten; het hielp de mensen ook om ze te vinden.

De Kern van het Verhaal

Dit artikel bewijst dat we AI kunnen gebruiken om als een "tweede paar ogen" te fungeren tijdens code reviews.

  • Traditionele AI werkt goed en is snel.
  • Super AI (LLM's) werkt nog beter, maar kan duurder zijn om te draaien.
  • Het beste deel: Wanneer ontwikkelaars deze tools gebruiken, vangen ze daadwerkelijk meer architecturale fouten op, waardoor het "kasteel" (het softwaresysteem) sterk en trouw aan de oorspronkelijke blauwdruk blijft.

De onderzoekers hebben niet alleen een tool gebouwd; ze hebben bewezen dat het geven van een "hint" aan ontwikkelaars over potentiële ontwerpfouten hen aanzienlijk beter maakt in hun werk.

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 →