The development of open source software is a multidisciplinary approach and it requires different areas of expertise, knowledge, tools and techniques. The open source software development has an important role. During the last decades, open source software development has changed the dynamics of software engineering research and added different new domains. In closed source software, the data related to software development, bug reported before release and post release was not available. It was difficult for researchers to validate their methods and models due to non-availability of data. In open source software, different repositories namely Source control repositories, Bug repositories, Archived communications, Deployment logs, Code repositories are available. Researchers are developing methods to mine useful information from these repositories to improve the quality of software projects. Different machine learning techniques have been applied to determine the level of severity and priority of bugs, to find the buggy module, security bugs and right developers. In this paper we are trying to focus on various domains such as  Artificial Intelligence based Software Engineering to develop new tools, Model Based Software Engineering, Search Based Software Engineering , Role of Software Engineering in Cloud Computing, Quantitative and Qualitative Software Engineering, Empirical Software Engineering ,regression based prediction models and machine learning techniques used to predict the bug fix time, man power involved in fixing that bug , assign a bug to the right fixer.