A method of detecting anomalous latencies in communications between components on an integrated circuit chip, the method comprising: (i) monitoring communications between a first component of the IC chip and other components of the IC chip, each communication comprising a command sent from the first component to another component, and a response received by the first component from that other component, the monitoring comprising: measuring the number of communications in each of a series of monitored time windows, and measuring the latency of each communication in the series of monitored time windows; characterised in that the method comprises: (ii) calculating a maximum tolerable latency MTL i for each operational time window of the first component from the number of communications in that operational time window WL i, wherein each component (201, 202) has a natural operational time window length and the operational time window WL i length of a component is longer than the monitored time window length used by the monitoring unit monitoring that component (201, 202), an available stall time of the first component in that operational time window calculated from the length of the operational time window WL i and a reserved processing time RS i, and a latency penalty factor BP i for that operational time window, wherein the latency penalty factor BP i for an operational time window WL i is the average minimum number of bytes that the first component can tolerate between latent responses, which cause the component to stall, in that operational time window WL i; and (iii) determining a measured latency to be anomalous if the measured latency is greater than the maximum tolerable latency MTL i. (i) monitoring communications between a first component of the IC chip and other components of the IC chip, each communication comprising a command sent from the first component to another component, and a response received by the first component from that other component, the monitoring comprising: measuring the number of communications in each of a series of monitored time windows, and measuring the latency of each communication in the series of monitored time windows; measuring the number of communications in each of a series of monitored time windows, and measuring the latency of each communication in the series of monitored time windows; (ii) calculating a maximum tolerable latency MTL i for each operational time window of the first component from the number of communications in that operational time window WL i, wherein each component (201, 202) has a natural operational time window length and the operational time window WL i length of a component is longer than the monitored time window length used by the monitoring unit monitoring that component (201, 202), an available stall time of the first component in that operational time window calculated from the length of the operational time window WL i and a reserved processing time RS i, and a latency penalty factor BP i for that operational time window, wherein the latency penalty factor BP i for an operational time window WL i is the average minimum number of bytes that the first component can tolerate between latent responses, which cause the component to stall, in that operational time window WL i; and (iii) determining a measured latency to be anomalous if the measured latency is greater than the maximum tolerable latency MTL i.