INSTRUMENTATION-BASED DETECTION OF ACCIDENTAL ALGORITHMIC COMPLEXITY OF A PROCEDURE

Techniques are described herein that are capable of detecting accidental algorithmic complexity of a procedure by using instrumentation. A number of times a parent procedure calls a child procedure during each of multiple executions of the parent procedure is detected by using instrumentation to pro...

Full description

Saved in:
Bibliographic Details
Main Authors NELSON, Patrick Lothian, HAN, Liqi, KARPINSKY, Nikolaus Lee
Format Patent
LanguageEnglish
French
Published 18.07.2024
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Techniques are described herein that are capable of detecting accidental algorithmic complexity of a procedure by using instrumentation. A number of times a parent procedure calls a child procedure during each of multiple executions of the parent procedure is detected by using instrumentation to provide call counts for the respective executions. A value of an attribute of the parent procedure during each of the executions is detected by using the instrumentation to provide attribute values for the respective executions. A function is generated that defines a curve that estimates a relationship between the attribute values for the respective executions and the call counts for the respective executions. Based at least on a slope of the curve, accidental algorithmic complexity of the parent procedure is determined. Based at least on the accidental algorithmic complexity satisfying a complexity criterion, a remedial action is performed with regard to the accidental algorithmic complexity. L'invention concerne des techniques qui permettent de détecter la complexité algorithmique accidentelle d'une procédure à l'aide d'une instrumentation. Un nombre de fois qu'une procédure mère appelle une procédure fille pendant chacune des multiples exécutions de la procédure mère est détecté à l'aide d'une instrumentation pour fournir des comptes d'appels pour les exécutions respectives. Une valeur d'un attribut de la procédure mère pendant chacune des exécutions est détectée à l'aide de l'instrumentation pour fournir des valeurs d'attribut pour les exécutions respectives. Une fonction est générée qui définit une courbe estimant une relation entre les valeurs d'attribut pour les exécutions respectives et les comptes d'appels pour les exécutions respectives. Sur la base au moins de la pente de la courbe, une complexité algorithmique accidentelle de la procédure mère est déterminée. Sur la base au moins du fait que la complexité algorithmique accidentelle satisfait un critère de complexité, une mesure corrective est prise en ce qui concerne la complexité algorithmique accidentelle.
Bibliography:Application Number: WO2023US86326