Speichervorgaben einer Funktion mit unbekannter Implementierung testen



  • Hallo,

    angenommen, ich beauftrage einen Programmierer, eine komplexe Software zu schreiben (das soll hier hoher Speicherbedarf bedeuten), z.B. für Manipulationen einer Bilddatei. Programmiersprache ist C im Standard C99. Dabei stelle ich bestimmte Speicherbedarfsvorgaben an eine Operation "opXY", nämlich soll diese Funktion während der Bearbeitung nicht mehr Speicher anfordern als 10% der Bildgröße des übergebenen Bildes.
    Ist es möglich, die Einhaltung dieser Eigenschaft bei unbekannter Implementierung der Funktion mittels eines weiteren C-Programms zu überprüfen?

    Ich kann mir nicht vorstellen, dass das möglich ist, weil mein Testprogramm keinen "Einblick" in die Fremdsoftware hat. Diese könnte bei Initialisierung mehrere Threads erzeugen, die beliebig Speicher anfordern und freigeben könnten, sodass eine Abfrage, wie viel das Programm insgesamt gerade an Speicher benötigt, nicht zielführend ist. Es müsste also diese Funktion vom Rest des Programms "abgekoppelt" betrachtet werden können. Und selbst dann würde es ja noch vom BS abhängen, ob ein malloc auch wirklich dazu führt, dass dem Programm insgesamt neuer Speicher zugeteilt wird.

    Sind meine Gedanken dazu einigermaßen richtig? Oder gibt es doch irgendwie eine Möglichkeit?

    Vielen Dank 🙂

    EDIT: ⚠ Ich habe diese Frage soeben im Forum Linux/Unix gepostet, da ich der Meinung bin, dass es da besser hineinpasst.
    Ich bitte daher um eine Diskussion im Linux/Unix Forum.
    Ein Moderator möge darüber entscheiden, diesen Thread zu schließen/löschen.


Anmelden zum Antworten