Ineffektiv användning av minne, inklusive läckor och uppblåsthet, är fortfarande en stor utmaning för C- och C++-utvecklare. Applikationer med dessa problem blir långsammare med tiden när deras arbetsset växer och kan bli oemottagligt. Samtidigt är minnesläckage och uppblåst fortfarande notoriskt svårt att felsöka, och omfattar ett stort antal rapporterade fel i mogna applikationer. Tidigare verktyg för att diagnostisera minnesineffektivitet-baserat på sophämtning, binär omskrivning, eller kod sample-pose höga overheads (upp till 100X) eller generera många falska larm. I detta dokument presenteras Hound, ett runtime-system som hjälper till att spåra källorna till minnesläckage och uppblåsthet i C- och C++-applikationer. Hound använder dataprovtagning, en staleness-tracking metod baserad på en ny hög organisation, för att göra det både exakt och effektiv. Hound har inga falska positiva, och dess drifttid och utrymme overhead är låga nog att det kan användas i utplacerade applikationer. Vi visar Hounds effektivitet över en svit av syntetiska riktmärken och verkliga tillämpningar.
Novark m.fl. REF presenterar Hound, som använder dataprovtagning och en gammaldags spårningsmetod för att hitta läckor och uppblåsningar exakt och effektivt för C++.
Efficiently and precisely locating memory leaks and bloat
{'venue': "PLDI '09", 'journal': None, 'mag_field_of_study': ['Computer Science']}