Browsing by Author "Cottrell, Rylan"
Now showing 1 - 4 of 4
Results Per Page
Sort Options
Item Open Access The End-to-End Use of Source Code Examples: An Exploratory Study - Appendix(2009-06-15T17:54:07Z) Holmes, Reid; Cottrell, Rylan; Walker, Robert; Denzinger, JoergThis appendix contains the details of our case studies outlined in our paper for the 2009 International Conference on Software Maintenance, as well as an expanded discussion section. The reader is directed to the main paper for introduction, motivation, and related work.Item Open Access Pragmatic Software Reuse: A View from the Trenches(2016-09-22) Walker, Robert; Cottrell, RylanSoftware reuse has been a part of the software engineering field since its inception. Research on reuse has focused almost exclusively on pre-planned approaches. Relatively little has been written about reuse performed in the absence of its pre-planning: pragmatic reuse. While many academics have dismissed nonpre- planned reuse as ill-advised, very little evidence exists about it, especially with respect to industrial practice. We conducted a survey of 59 industrial software developers to capture the perception, frequency, motivations, difficulties, and execution of the practice of pragmatic reuse within their development activities. We found that the majority of developers surveyed perceive that: pragmatic reuse has an important place in their repertoire of techniques; pragmatic reuse tasks are a frequent part of their development activities; and that they face a variety of practical difficulties while performing pragmatic reuse tasks. Opinions vary on the range and scale of situations where pragmatic reuse is suitable.Item Open Access Semi-automating small-scale source code reuse via structural correspondence(2008) Cottrell, Rylan; Walker, Robert J.; Denzinger, JörgItem Open Access Using Structural Generalization to Discover Replacement Functionality for API Evolution(2014-05-12) Cossette, Bradley; Walker, Robert; Cottrell, RylanNew versions of software libraries sometimes introduce incompatible and undocumented changes into their application programming interfaces (APIs). A developer whose software uses the API must determine how to migrate it in response. Existing approaches for determining migration paths are often of limited help, requiring speci c library characteristics, or resolving a small subset of actual changes. We present a new approach, matching via structural general- ization (MSG), that recommends replacement functionality from a new API version, based on its structural similarity to functionality removed from the old API. We rei ed our approach in a prototype API change recommendation tool called Umami, which we used to resolve binary incompatible changes in 20 Java library migrations, comparing its accuracy to other analysis and change recommendation techniques. Our results suggest MSG is complementary to existing approaches, providing useful results in API migration situations where the others fail.