A computer-implemented method for detecting a change in an autonomic algorithm operating on a multi-terminal telecommunications system, the method comprising the steps of: receiving operational data on the multi-terminal telecommunications system; generating a new rule for the algorithm, on a periodic basis, using a machine learning process based on the operational data, wherein, at each iteration of the periodic rule generation, the generated new rule is evaluated for acceptance or rejection, and, if the new rule has been accepted, the new rule is added to the algorithm, and, wherein, at each iteration of the periodic rule generation, a version of the algorithm is recorded together with a corresponding timestamp; and monitoring a rate relating to the generation of new rules for the algorithm based on time differences between a first and second version of the algorithm and comparing said rate to a first rate threshold, and/or monitoring a magnitude of a change between the first and second versions of the algorithm by evaluating a distance metric for said versions based on contingency matrices, and comparing said magnitude to a first magnitude threshold; and, if the rate exceeds the first rate threshold and/or the magnitude exceeds the first magnitude threshold, report the occurrence of a change in the algorithm's operation if the rate exceeds the first rate threshold, and/or report an occurrence of an error in the algorithm's operation if the magnitude is compared with a threshold for maximum and/or minimum distance metrics in order to determine whether the algorithm is too stable or no longer stable, wherein the reporting of the occurrence of a change is performed via an input/output interface and the reported occurrence indicates to a human operative that the algorithm is no longer suitable for the current operating conditions of the telecommunications system. receiving operational data on the multi-terminal telecommunications system; generating a new rule for the algorithm, on a periodic basis, using a machine learning process based on the operational data, wherein, at each iteration of the periodic rule generation, the generated new rule is evaluated for acceptance or rejection, and, if the new rule has been accepted, the new rule is added to the algorithm, and, wherein, at each iteration of the periodic rule generation, a version of the algorithm is recorded together with a corresponding timestamp; and monitoring a rate relating to the generation of new rules for the algorithm based on time differences between a first and second version of the algorithm and comparing said rate to a first rate threshold, and/or monitoring a magnitude of a change between the first and second versions of the algorithm by evaluating a distance metric for said versions based on contingency matrices, and comparing said magnitude to a first magnitude threshold; and, if the rate exceeds the first rate threshold and/or the magnitude exceeds the first magnitude threshold, report the occurrence of a change in the algorithm's operation if the rate exceeds the first rate threshold, and/or report an occurrence of an error in the algorithm's operation if the magnitude is compared with a threshold for maximum and/or minimum distance metrics in order to determine whether the algorithm is too stable or no longer stable, wherein the reporting of the occurrence of a change is performed via an input/output interface and the reported occurrence indicates to a human operative that the algorithm is no longer suitable for the current operating conditions of the telecommunications system.