Journal Article10.1145/2377656.2377657
Systematizing pragmatic software reuse
Reid Holmes,Robert J. Walker +1 more
TL;DR: The results show that pragmatic-reuse plans are a robust metaphor for capturing pragmatic reuse intent and that Gilligan can significantly decrease the time that developers require to perform pragmatic reuse tasks, and improve developers' sense of their ability to manage the risk in such tasks.
read more
Abstract: Many software reuse tasks involve reusing source code that was not designed in a manner conducive to those tasks, requiring that ad hoc modifications be applied. Such pragmatic reuse tasks are a reality in disciplined industrial practice; they arise for a variety of organizational and technical reasons. To investigate a pragmatic reuse task, a developer must navigate through, and reason about, source code dependencies in order to identify program elements that are relevant to the task and to decide how those elements should be reused. The developer must then convert his mental model of the task into a set of actions that he can perform. These steps are poorly supported by modern development tools and practices.We provide a model for the process involved in performing a pragmatic reuse task, including the need to capture (mentally or otherwise) the developer's decisions about how each program element should be treated: this is a pragmatic-reuse plan. We provide partial support for this model via a tool suite, called Gilligan; other parts of the model are supported via standard IDE tools. Using a pragmatic-reuse plan, Gilligan can semiautomatically transform the selected source code from its originating system and integrate it into the developer's system.We have evaluated Gilligan through a series of case studies and experiments (each involving industrial developers) using a variety of source systems and tasks; we report in particular on a previously unpublished, formal experiment. The results show that pragmatic-reuse plans are a robust metaphor for capturing pragmatic reuse intent and that, relative to standard IDE tools, Gilligan can (1) significantly decrease the time that developers require to perform pragmatic reuse tasks, (2) increase the likelihood that developers will successfully complete pragmatic reuse tasks, (3) decrease the time required by developers to identify infeasible reuse tasks, and (4) improve developers' sense of their ability to manage the risk in such tasks.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Software psychology: human factors in computer and information systems
TL;DR: This book should be either read carefully, or at least skimmed, by almost all programmers, programming managers, and any people concerned with the realities of software and software systems.
309
A practical guide to controlled experiments of software engineering tools with human participants
TL;DR: Practical methodological guidance is offered on designing and running controlled experiments with developers and fills gaps in the empirical literature by explaining, from a practical perspective, options in the recruitment and selection of human participants, informed consent, experimental procedures, demographic measurements, group assignment, training, the selecting and design of tasks.
Improving automated source code summarization via an eye-tracking study of programmers
Paige Rodeghero,Collin McMillan,Paul W. McBurney,Nigel Bosch,Sidney K. D'Mello +4 more
- 31 May 2014
TL;DR: An eye-tracking study of 10 professional Java programmers in which the programmers read Java methods and wrote English summaries of those methods is presented and the findings are applied to build a novel summarization tool.
On the Comprehension of Program Comprehension
Walid Maalej,Rebecca Tiarks,Tobias Roehm,Rainer Koschke +3 more
- 05 Sep 2014
TL;DR: It is found that developers follow pragmatic comprehension strategies depending on context and call for reconsidering the research agendas towards context-aware tool support.
Managing Messes in Computational Notebooks
Andrew Head,Fred Hohman,Titus Barik,Steven M. Drucker,Robert DeLine +4 more
- 02 May 2019
TL;DR: Code gathering tools, extensions to computational notebooks that help analysts find, clean, recover, and compare versions of code in cluttered, inconsistent notebooks are introduced.
169
References
•Book
Qualitative Data Analysis: An Expanded Sourcebook
Matthew B. Miles,A. Michael Huberman +1 more
- 12 Jan 1994
TL;DR: This book presents a step-by-step guide to making the research results presented in reports, slideshows, posters, and data visualizations more interesting, and describes how coding initiates qualitative data analysis.
53.7K
•Book
Design Patterns: Elements of Reusable Object-Oriented Software
Erich Gamma,Richard Helm,Ralph E. Johnson,John Vlissides +3 more
- 01 Jan 1994
TL;DR: The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns, which most experienced OOP designers will find out they've known about patterns all along.
24.8K
Individual Comparisons by Ranking Methods
TL;DR: The comparison of two treatments generally falls into one of the following two categories: (a) a number of replications for each of the two treatments, which are unpaired, or (b) we may have a series of paired comparisons, some of which may be positive and some negative as mentioned in this paper.
14.5K
On a Test of Whether one of Two Random Variables is Stochastically Larger than the Other
Henry B. Mann,D. R. Whitney +1 more
TL;DR: In this paper, the authors show that the limit distribution is normal if n, n$ go to infinity in any arbitrary manner, where n = m = 8 and n = n = 8.