Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Jonathan Sillito is active.

Publication


Featured researches published by Jonathan Sillito.


conference on computer supported cooperative work | 2010

Information needs in bug reports: improving cooperation between developers and users

Silvia Breu; Rahul Premraj; Jonathan Sillito; Thomas Zimmermann

For 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.


international conference on software maintenance | 2012

What makes a good code example?: A study of programming Q&A in StackOverflow

Seyed Mehdi Nasehi; Jonathan Sillito; Frank Maurer; Chris Burns

Programmers learning how to use an API or a programming language often rely on code examples to support their learning activities. However, what makes for an effective ode example remains an open question. Finding the haracteristics of the effective examples is essential in improving the appropriateness of these learning aids. To help answer this question we have onducted a qualitative analysis of the questions and answers posted to a programming Q&A web site called StackOverflow. On StackOverflow answers can be voted on, indicating which answers were found helpful by users of the site. By analyzing these well-received answers we identified haracteristics of effective examples. We found that the explanations acompanying examples are as important as the examples themselves. Our findings have implications for the way the API documentation and example set should be developed and evolved as well as the design of the tools assisting the development of these materials.


agile conference | 2008

Agile Methods and User-Centered Design: How These Two Methodologies are Being Successfully Integrated in Industry

David Fox; Jonathan Sillito; Frank Maurer

A core principle of agile development is to satisfy the customer by providing valuable software on an early and continuous basis. For a software application to be valuable it should have a user interface that is usable. Recently there has been some evidence that suggests using agile methods alone does not ensure that an applications UI is usable. As a result, there is currently interest in combining Agile methods with user-centered design (UCD) practices. To support existing empirical evidence that these methodologies co-exist effectively we have conducted a study with participants that have previously combined these two methodologies. Our findings, combined with existing work show that the existing model used for agile UCD integration can be broadened into a more common model. In this paper we describe three different approaches taken by our participants to achieve this integration. We term these approaches the generalist, specialist, and the hybrid approach.


cooperative and human aspects of software engineering | 2009

Why are software projects moving from centralized to decentralized version control systems

Brian de Alwis; Jonathan Sillito

Version control systems are essential for co-ordinating work on a software project. A number of open- and closed-source projects are proposing to move, or have already moved, their source code repositories from a centralized version control system (CVCS) to a decentralized version control system (DVCS). In this paper we summarize the differences between a CVCS and a DVCS, and describe some of the rationales and perceived benefits offered by projects to justify the transition.


international conference on software maintenance | 2009

Searching and skimming: An exploratory study

Jamie Starke; Chris Luce; Jonathan Sillito

Source code search is an important activity for programmers working on a change task to a software system. As part of a larger project to improve tool support for finding information in source code, we conducted a formative study in which programmers were asked to perform corrective tasks to a system they were initially unfamiliar with. Our analysis focused specifically on how programmers decide what to search for, and how they decide which results are relevant to their task. Based on our analysis, we present five observations about our participants approach to finding information and some of the challenges they faced. We also discuss the implications these observations have for the design of source code search tools.


international conference on software engineering | 2009

Improving bug tracking systems

Thomas Zimmermann; Rahul Premraj; Jonathan Sillito; Silvia Breu

It is important that information provided in bug reports is relevant and complete in order to help resolve bugs quickly. However, often such information trickles to developers after several iterations of communication between developers and reporters. Poorly designed bug tracking systems are partly to blame for this exchange of information being stretched over time. Our paper addresses the concerns of bug tracking systems by proposing four broad directions for enhancements. As a proof-of-concept, we also demonstrate a prototype interactive bug tracking system that gathers relevant information from the user and identifies files that need to be fixed to resolve the bug.


international conference on software maintenance | 2009

Expert recommendation with usage expertise

David Ma; David Schuler; Thomas Zimmermann; Jonathan Sillito

Global 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.


visualizing software for understanding and analysis | 2011

Follow that sketch: Lifecycles of diagrams and sketches in software development

Jagoda Walny; Jonathan Haber; Marian Dörk; Jonathan Sillito; M. Sheelagh T. Carpendale

Informal 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.


Empirical Software Engineering | 2011

Qualitative research in software engineering

Tore Dybå; Rafael Prikladnicki; Kari Rönkkö; Carolyn B. Seaman; Jonathan Sillito

Qualitative research methods were developed in the social sciences to enable researchers to study social and cultural phenomena and are designed to help researchers understand people and the social and cultural contexts within which they live (Denzin and Lincoln 2011). The goal of understanding a phenomenon from the point of view of the participants and its particular social and institutional context is largely lost when textual data are quantified. Taylor and Bogdan (1984) point out that qualitative research methods were designed mostly by educational researchers and other social scientists to study the complexities of human behavior (e.g., motivation, communication, difficulties in understanding). According to these authors, human behavior is clearly a phenomenon that, due to its complexity, requires qualitative methods to be fully understood, since much of human behavior cannot be adequately described and explained through statistics and other quantitative methods. Examples of qualitative methods are action research, case study research, ethnography, and grounded theory. Qualitative data sources include observation and participant observation (fieldwork), interviews and questionnaires, documents and texts, and the researcher’s impressions and reactions. Many in the software industry recognize that software development also presents a number of unique management and organizational issues that need to be addressed and solved in order for the field to progress. And this situation has led to studies related not only Empir Software Eng (2011) 16:425–429 DOI 10.1007/s10664-011-9163-y


interactive tabletops and surfaces | 2010

Tool support for testing complex multi-touch gestures

Shahedul Huq Khandkar; S. M. Sohan; Jonathan Sillito; Frank Maurer

Though 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.

Collaboration


Dive into the Jonathan Sillito's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Silvia Breu

University of Cambridge

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Janice Singer

National Research Council

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge