Browsing by Author "Sillito, Jonathan"
Now showing 1 - 17 of 17
Results Per Page
Sort Options
Item Metadata only App-Directed Learning: An Exploratory Study(ICSE Workshop on Cooperative and Human Aspects of Software Engineering, 2013) Sillito, Jonathan; Begel, AndrewItem Open Access Appendix to Information Needs in Bug Reports: Improving Cooperation Between Developers and Users(2009-09-25T15:03:56Z) Breu, Silvia; Premraj, Rahul; Sillito, Jonathan; Zimmermann, ThomasThis technical report contains all data that is needed to replicate the paper “Information Needs in Bug Reports: Improving Cooperation Between Developers and Users” to be published at CSCW 2010 in Savannah, Georgia, USA. The accompanying zip file contains bug reports, cards with categorization, and R scripts that were used in the study.Item Metadata only Branching and merging: an investigation into current version control practices(ACM, 2011) Phillips, Shaun; Sillito, Jonathan; Walker, RobThe use of version control has become ubiquitous in software development projects. Version control systems facilitate parallel development and maintenance through branching, the creation of isolated codelines. Merging is a consequence of branching and is the process of integrating codelines. However, there are unanswered questions about the use of version control to support parallel development; in particular, how are branching and merging used in practice? What defines a successful branching and merging strategy? As a first step towards answering these questions, we recruited a diverse sample of 140 version control users to participate in an online survey. In this paper, we present the survey results and 4 key observations about branching and merging practices in software development projects.Item Open Access Evaluating Usage Expertise Mined from Version Archives(2012-10-04) Ma, David; Sillito, Jonathan; Zimmermann, ThomasOne approach for modelling coding expertise is to quantify the knowledge accrued from the use of library functionality. This concept is known as Usage Expertise (Schuler and Zimmermann 2008). This thesis makes three contributions. The first is a formal specification of a system which mines Usage Expertise from a version control repository in order to recommend developers for a change task. The second contribution is a comparison of the accuracy of the system measured against the oft-used Line 10 model of developer expertise. This evaluation finds that the usage model yields simultaneous gains in the accuracy and the diversity of recommendations. The third and final contribution is a qualitative study that explores the trust and behavioural tendencies of 9 software developers who were given the model reified as a software tool. The study finds Usage Expertise to be a trustworthy identifier of expertise. However, the study also finds a series of social and organizational factors that limit the efficacy of the model in real world contexts.Item Open Access Expert Recommendation with Usage Expertise(2009-07-09T17:28:15Z) Ma, David; Schuler, David; Zimmermann, Thomas; Sillito, JonathanGlobal and distributed software development increases the need to find and connect developers with relevant expertise. Existing recommendation systems typically model expertise based on file changes (implementation expertise). While these approaches have shown success, they require a substantial recorded history of development for a project. Previously, we have proposed the concept of usage expertise, i.e., expertise manifested through the act of calling (using) a method. In this paper, we assess the viability of this concept by evaluating expert recommendations for the ASPECTJ and ECLIPSE projects. We find that both usage and implementation expertise have comparable levels of accuracy, which suggests that usage expertise may be used as a substitute measure. We also find a notable overlap of method calls across both projects, which suggests that usage expertise can be leveraged to recommend experts from different projects and thus for projects with little or no history.Item Open Access An Exploratory Study of Automated GUI Testing: Goals, Issues, and Best Practices(2014-04-11) Hellmann, Theodore; Moazzen, Elham; Sharma, Abhishek; Akbar, Md. Zabedul; Sillito, Jonathan; Maurer, FrankManually testing GUIs can be expensive and complex, so the creation of automated GUI test suites has been an area of significant interest. However, to our knowledge, the motivations of testers and the problems they encounter when attempting to create and use automated GUI tests have not been explored. We used Grounded Theory to investigate the goals motivating automated GUI testing, the issues testers encounter, and the best practices applied to overcome these issues. Through this study, we demonstrate that automated GUI test suite evolution and architecture are extremely important to the success of automated GUI testing and describe techniques that can be of use to practitioners. In addition to these best practices, this study identifies additional areas in which future research should be concentrated.Item Open Access Exploring the Usefulness of Version Control Information for Program Comprehension(2012-10-03) Al Baba, Mohamad Samer; Sillito, JonathanUnderstanding a concern in source code can involve understanding its evolution. This work explores the usefulness of version control system information in supporting program understanding, by analyzing the evolution of twenty different concerns from five open source software projects. Our analysis showed that 66.9% of commits are not helpful for understanding concerns and only 19.5% are very helpful. This result implies that it can be time consuming for programmers to find relevant commits when reviewing a concern history and motivates the need for tool support for ranking commits associated with a concern. Hence, we have explored ranking commits based on a recommender system built on top of a classifier whose input is some commit attributes. The accuracy of such ranking reached 75.5%. The analysis of mis-ranked commits demonstrated that improving on the current results will require a more sophisticated way for determining when a change is conceptually important or unimportant.Item Metadata only Follow that Sketch: Lifecycles of Diagrams and Sketches in Software Development.(IEEE, 2011) Walny, Jagoda; Haber, Jonathan; Doerk, Marian; Sillito, Jonathan; Carpendale, SheelaghInformal visualization in the form of sketching and diagramming has long been an established practise of professionals working in the fields of design, architecture, and engineering. Less is known, however, about the sketching and diagramming practices of computer scientists and software developers. Through a series of interviews with computer science researchers who develop software, we probed the purpose, contexts, and media in which they created and re-created sketches and diagrams, and the ways in which these informal visualizations evolved over time. Through our analysis we created visualizations of the observed sketching and diagramming lifecycles, which can contribute to a better understanding of the roles of sketching and diagramming in software development.Item Open Access Frequently Asked Questions in Bug Reports(2009-03-23T16:05:29Z) Breu, Silvia; Premraj, Rahul; Sillito, Jonathan; Zimmermann, ThomasBug tracking systems play a central role in software development since they allow users and developers to submit and discuss bugs and new features. To better understand information and communication needs in bug tracking, we analysed what questions are asked in bug reports. We sampled 600 bug reports from the MOZILLA and ECLIPSE projects and located 947 questions in the reports. Next, we used an open card sort and identified eight categories of questions, which can further be broken down into forty groups. We show the value of this catalogue of frequently asked questions with a large quantitative and qualitative study on when questions are asked and how they are answered. A consequence of our results is that constant user involvement is crucial for successful bug reports and that better tools are needed to support this.Item Metadata only Improving Responsiveness, Bug Detection, and Delays in a Bureaucratic Setting: A Longitudinal Empirical IID Adoption Case Study(Springer, 2010) Pinheiro, Caryna; Maurer, Frank; Sillito, JonathanThis paper empirically studies a group of projects in a large bureau-cratic government agency that adopted iterative and incremental development (IID). We found that a project that followed IID since inception provided substantially better bug-fixing responsiveness and found bugs earlier in the development lifecycle than existing projects that migrated to IID. IID practices also supported managerial decisions that lead to on-time & on-budget delivery.Item Metadata only Information needs for integration decisions in the release process of large-scale parallel development(ACM, 2012) Shaun, Phillips; Ruhe, Guenther; Sillito, JonathanVersion control branching allows an organization to parallelize its development efforts. Releasing a software system developed in this manner requires release managers, and other project stakeholders, to make decisions about how to integrate the branched work. This group decision-making process becomes very complex in the case of large-scale parallel development. To better understand the information needs of release managers in this context, we conducted an interview study at a large software company. Our analysis of the interviews provides a view into how release managers make integration decisions, organized around ten key factors. Based on these factors, we discuss specific information needs for release managers and how the needs can be met in future work.Item Metadata only Information needs in bug reports: improving cooperation between developers and users(ACM, 2010) Breu, Silvia; Premraj, Rahul; Sillito, Jonathan; Zimmermann, ThomasFor many software projects, bug tracking systems play a central role in supporting collaboration between the developers and the users of the software. To better understand this collaboration and how tool support can be improved, we have quantitatively and qualitatively analysed the questions asked in a sample of 600 bug reports from the MOZILLA and ECLIPSE projects. We categorised the questions and analysed response rates and times by category and project. Our results show that the role of users goes beyond simply reporting bugs: their active and ongoing participation is important for making progress on the bugs they report. Based on the results, we suggest four ways in which bug tracking systems can be improved.Item Metadata only Introducing Automated Environment Configuration Testing in an Industrial Setting(2010) Pinheiro, Caryna; Garousi, Vahid; Maurer, Frank; Sillito, JonathanItem Metadata only Motivations for Collaboration in Software Design Decision Making(ICSE Workshop on Cooperative and Human Aspects of Software Engineering, 2013) AlAli, Amani; Sillito, JonathanItem Metadata only Tool Support for Testing Complex Multi-Touch Gestures(ACM, 2010) Khandkar, Shahedul Huq; Sohan, S.M.; Sillito, Jonathan; Maurer, FrankThough many tabletop applications allow users to interact with the application using complex multi-touch gestures, automated tool support for testing such gestures is limited. As a result, gesture-based interactions with an application are often tested manually, which is an expensive and error prone process. In this paper, we present TouchToolkit, a tool designed to help developers automate their testing of gestures by incorporating recorded gestures into unit tests. The design of TouchToolkit was informed by a small interview study conducted to explore the challenges software developers face when debugging and testing tabletop applications. We have also conducted a preliminary evaluation of the tool with encouraging results.Item Metadata only Tool Support for Testing Complex Multi-Touch Gestures(ACM, 2010) Khandkar, Shahedul Huq; Sohan, S.M.; Sillito, Jonathan; Maurer, FrankThough many tabletop applications allow users to interact with the application using complex multi-touch gestures, automated tool support for testing such gestures is limited. As a result, gesture-based interactions with an application are often tested manually, which is an expensive and error prone process. In this paper, we present TouchToolkit, a tool designed to help developers automate their testing of gestures by incorporating recorded gestures into unit tests. The design of TouchToolkit was informed by a small interview study conducted to explore the challenges software developers face when debugging and testing tabletop applications. We have also conducted a preliminary evaluation of the tool with encouraging results.Item Metadata only Visual Testing of Graphical User Interfaces: an Exploratory Study Towards Systematic Definitions and Approaches(2012) Issa, Ayman; Sillito, Jonathan; Garousi, Vahid