The widespread use of concurrent software in modern day computing systems necessitates the development of effective debugging methodologies for multi-threaded software. Concurrent programs, however, are behaviourally complex involving subtle interactions between threads which make them hard to analyse manually. This motivates the use of automated formal methods to reason about such systems. In this project we have defined a methodology to detect interference freedom and to identify write-write and write-read conflicts by using an existing May-Happen-In-Parallel algorithm. The purpose of May-Happen-in-Parallel (MHP) analysis is to statically determine if it is possible for execution instances of two given statements (or the same statement) to execute in parallel. MHP analysis serves as a key foundation for concurrent static and dynamic debugging tools including tools for data race detection. The main objective is to provide guidelines to a programmer to identify May-Happen-in-Parallel points in a program and to reduce the concurrency bugs as much as possible.