Department Seminar

In a Global Software Development environment where software developers are geographically distributed, there is lack of face to face interaction which can affect quality and maintenance of software code. Semantic and search tools allow a programmer to interact with the software code and elicit answers to questions just like he/she would be interacting with another developer. In particular, my work focuses on Information Retrieval based automated bug localization tool. Search-based or Information Retrieval (IR) based bug localization techniques use a bug-report's textual content to query an index built from source files in the current version of the software. We have studied the problem of IR based bug localization from the standpoint of search effectiveness and efficiency. To this end, we compared state-of-art models and text pre-processing techniques and its impact on search effectiveness. We also demonstrated the use of structural information in the software in terms of the Class Dependency Graphs to improve retrieval effectiveness of IR-based bug localization. In order to improve the retrieval efficiency of these tools, we have proposed an incremental update framework that continuously updates the index and the model using the changes made at each commit. Our findings are supported by extensive experimentation carried out on large-scale data-sets mined from version control system like git and bug tracking system like Bugzilla.