A method of detecting anomalous latencies in communications between components on an integrated circuit (IC) 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 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 , 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 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 , 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 . <EOS>