In the realm of software security, cutting-edge techniques play a vital role in safeguarding against threats. Fuzzing, a dynamic testing approach, uncovers vulnerabilities by subjecting software to unexpected inputs. Control Flow Integrity (CFI) ensures code follows intended paths, defending against hijacking attacks. Runtime defences, including code instrumentation and anomaly detection, thwart runtime attacks that compromise software integrity. Our research group focuses on advancing these techniques to bolster software security effectively.