Thesis Topics [25.9.2014] Bruno Rossi Department of Computer Systems and Communications, Lasaris (Lab of Software Architectures and Information Systems) Masaryk University, Brno 2/11 Computer-Aided Ticket Triage (1/2) ● Ticket triaging refers to the assignment of tickets in issue trackers to the most appropriate developer(s) for their solution. ● The current thesis will deal with the design and implementation a software application that would assist with a triage and pre-analysis of newly raised tickets. 1 3/11 Computer-Aided Ticket Triage (2/2) ● This thesis will be done in collaboration with a company - data can be only accessed internally due to its sensitivity. For this reason, the student will be requested to sign a Non Disclosure Agreement (NDA). ● Learning data is available in the form of an older SQL-based proprietary tracking system (MRTS), and already existing tickets in JIRA ● The input for the application would be a newly raised ticket in Atlassian JIRA and the the output should be some, or all, of the following: – a suggested name of the assignee, and/or a team; – a suggested priority/importance of the ticket; – a suggested component, and/or section of source code; – a list of topically similar (older) tickets; ● Skills requested: some development skills, interests for machine learning / text mining 1 4/11 Investigation of Design Patterns Grime in Software Development (1/3) ● Design Patterns are widely known to be useful to better structure and design software projects for improved future maintenance. 2 5/11 Investigation of Design Patterns Grime in Software Development (2/3) ● Design patterns can decay over time and are subject to the so-called "grime" effect → accumulation of code not specific to the patterns that can also lead to the violation of the original goals for which the patterns were introduced Source: Izurieta, Clemente, and James M. Bieman. "Testing consequences of grime buildup in object oriented design patterns." Software Testing, Verification, and Validation, 2008 1st International Conference on. IEEE, 2008. 2 6/11 Investigation of Design Patterns Grime in Software Development (3/3) ● The current thesis is aimed at understanding the "grime" and related phenomenon in literature, the practical part will deal with an empirical investigation of the presence and evolution of design patterns grime in a set of software projects, understanding ● different types of “grime” ● how frequent such occurrence is ● If there are some causes that are more frequent (that is relation with other changes within systems during development) Skills requested: development skills, interests in source code analysis 2 7/11 Applying Text Mining Classification for Software Requirements Prioritization (1/2) ● Requirements prioritization is an important phase in the software engineering process that leads to the decision about the most important requirements to be developed 3 8/11 Applying Text Mining Classification for Software Requirements Prioritization (2/2) ● The current thesis will: – review the current state of the art in the classification and prediction of priorities in requirements engineering – evaluate several techniques (e.g. different classifiers like Multinomial Naive Bayes, Nearest Neighbour) for machine learning reasoning to recommend the priority of requirements to support decision makers Skills requested: interest in machine learning / text mining 3 9/11 A Controlled Experiment for Pair Programming Enhancement (1/2) Learning of concepts Recall (RE) Navigator, driver, co-located and distributed PP, pair rotation, etc.. Comprehension (CO) Description of terms Explanation of the main terms, navigator, driver, co-located and distributed PP, pair rotation, etc.. Application (AP1) Fill a compatibility questionnaire Create new pairs Perform a “Test run” Application of basic PP concepts with supervision Create “routine” programs Frequent role switches Application (AP2) Application of basic PP to more complex problems and without supervision introduction to distributed PP Work in more complex programs Distributed PP sessions In a previous Master thesis ("Enhancing Learnability of Pair Programming Practice when introducing Novices"), a framework was created to improve the learnability of pair programming by suggesting several practices, like affinity scores and constant revisions to better form pairs so that novice developers could improve their approach to pair programming. 4 10/11 A Controlled Experiment for Pair Programming Enhancement (2/2) ● The aim of the current thesis is to revise the proposed framework and apply it by means of a controlled experiment in order to understand: – the effects on students/developers and their feedback; – possible improvements to the framework; Tasks will be the design, preparation, realization and evaluation of a controlled experiment applied when learning agile development practices Skills requested: interest in software development process and in doing empirical research, communication skills 4 11/11 Additional Information ● If you need more information about one topic you can contact me at brossi@mail.muni.cz ● You can apply for enrollment in one topic through the IS