The goal of my research is improving the quality and reliability of software through the use of Empirical Software Engineering. To accomplish this goal, my research focuses on developing, measuring and improving processes and tools that will impact software quality with respect to certain attributes (e.g. cost, correctness, reliability, and security). The overriding goal of empirical software engineering research is to provide concrete data, observations, and evidence to support a decision-making process. Empirical software engineering techniques also allow researchers and practitioners to gather information to provide a deeper understanding of the context(s) in which techniques and methods are most useful. An organization can use this information to make better, more informed choices about which techniques and methods are the most appropriate for use on their projects. My approach to empirical software engineering is to study how people (i.e. developers) use processes and tools in different settings and to understand which of these processes and tools are more effective and efficient for those environments. Gaining this understanding requires the use of both quantitative and qualitative evidence. Quantitative data allows for concrete statistical analyses, while qualitative evidence provides researchers with a more detailed insight into the use of particular techniques. The specific goals of a study dictate the balance between quantitative and qualitative evidence. The two types of evidence (qualitative and quantitative) provide complementary insights into the software engineering processes and can be collected in studies ranging from controlled experiments to case studies.