Title: Fighting Concurrency Bugs Abstract: Driven by the hardware shift to multicore architectures, concurrency is being brought into mainstream software development. Unfortunately, concurrent programs are prone to concurrency bugs, because of the inherent complexity of concurrency and the sequential thinking habits of programmers. Concurrency bugs' non-deterministic property also brings a lot of trouble to developers. Improving the reliability of concurrent programs is a critical and urgent task. In this talk, I present two techniques to detect two types of concurrency bugs, both of which are important and not well-addressed before. These two techniques look at the concurrency bug problem from the angel of programmers' synchronization intention. The first one is AVIO, a technique to automatically infer programmers' atomicity intention and detect atomicity violation bugs. The second is MUVI, a technique to automatically infer variable correlation and detect multi-variable concurrency bugs. AVIO and MUVI effectively detect concurrency bugs, including some previously unknown bugs, from large concurrent systems. I will also briefly talk about how our characteristic study of real-world concurrency bugs motivated the above bug detection work and how to help expose concurrency bugs to support dynamic concurrency bug detection.