“…We relate our findings to the following work:[9,11,12,13,21,22,25,28,31,33,34,39,40,41,43,47,51,53,54,56,60,67,69,71,72,77,79,81,82,83,84,88,91].…”
mentioning
confidence: 75%
“…Technical support, such as code recommenders (id=16) are one example of research that should contribute to these three aspects [77] and might, in principle, target the right goals; however, these tools are not yet used widely (only one respondent per case declared to use them). This could be an indication that from a research perspective, more work needs to be done to adapt research work to the reality of practitioners, especially in terms of usability and scalability [69,72].…”
Section: Finding and Accessing Reusables (Far1 Figure 4)mentioning
confidence: 99%
“…This has also lead to a drastic change in the way reuse can be approached in terms of publishing, retrieving, and maintaining reusable entities [24,39,88]. As a previous scarcity of reusable items has been replaced by a plethora of available options, research has proposed elaborate tool support to facilitate access and selection of suitable reuse candidates, e.g., by means of code [77,72,14,32,59] and model recommenders [31]. At the same time, empirical research has started to quantify the benefits of reuse [65].…”
Context: Reuse can improve productivity and maintainability in software development. Research has proposed a wide range of methods and techniques. Are these successfully adopted in practice? Objective: We propose a preliminary answer by integrating two in-depth empirical studies on software reuse at two large software-producing companies. Method: We compare and interpret the study results with a focus on reuse practices, effects, and context. Results: Both companies perform pragmatic reuse of code produced within the company, not leveraging other available artefacts. Reusable entities are retrieved from a central repository, if present. Otherwise, direct communication with trusted colleagues is crucial for access. Reuse processes remain implicit and reflect the development style. In a homogeneous infrastructure-supported context, participants strongly agreed on higher development pace and less maintenance effort as reuse benefits. In a heterogeneous context with fragmented infrastructure, these benefits did not materialize. Neither case reports statistically significant evidence of negative side effects of reuse nor inhibitors. In both cases, a lack of reuse led to duplicate implementations. Conclusion: Technological advances have improved the way reuse concepts can be applied in practice. Homogeneity in development process and tool support seem necessary preconditions. Developing and adopting adequate reuse strategies in heterogeneous contexts remains challenging.
“…We relate our findings to the following work:[9,11,12,13,21,22,25,28,31,33,34,39,40,41,43,47,51,53,54,56,60,67,69,71,72,77,79,81,82,83,84,88,91].…”
mentioning
confidence: 75%
“…Technical support, such as code recommenders (id=16) are one example of research that should contribute to these three aspects [77] and might, in principle, target the right goals; however, these tools are not yet used widely (only one respondent per case declared to use them). This could be an indication that from a research perspective, more work needs to be done to adapt research work to the reality of practitioners, especially in terms of usability and scalability [69,72].…”
Section: Finding and Accessing Reusables (Far1 Figure 4)mentioning
confidence: 99%
“…This has also lead to a drastic change in the way reuse can be approached in terms of publishing, retrieving, and maintaining reusable entities [24,39,88]. As a previous scarcity of reusable items has been replaced by a plethora of available options, research has proposed elaborate tool support to facilitate access and selection of suitable reuse candidates, e.g., by means of code [77,72,14,32,59] and model recommenders [31]. At the same time, empirical research has started to quantify the benefits of reuse [65].…”
Context: Reuse can improve productivity and maintainability in software development. Research has proposed a wide range of methods and techniques. Are these successfully adopted in practice? Objective: We propose a preliminary answer by integrating two in-depth empirical studies on software reuse at two large software-producing companies. Method: We compare and interpret the study results with a focus on reuse practices, effects, and context. Results: Both companies perform pragmatic reuse of code produced within the company, not leveraging other available artefacts. Reusable entities are retrieved from a central repository, if present. Otherwise, direct communication with trusted colleagues is crucial for access. Reuse processes remain implicit and reflect the development style. In a homogeneous infrastructure-supported context, participants strongly agreed on higher development pace and less maintenance effort as reuse benefits. In a heterogeneous context with fragmented infrastructure, these benefits did not materialize. Neither case reports statistically significant evidence of negative side effects of reuse nor inhibitors. In both cases, a lack of reuse led to duplicate implementations. Conclusion: Technological advances have improved the way reuse concepts can be applied in practice. Homogeneity in development process and tool support seem necessary preconditions. Developing and adopting adequate reuse strategies in heterogeneous contexts remains challenging.
“…To help programmers alleviate burden and better facilitate the usage of APIs, developers can be supported through code example recommendation systems [97]. Over the last decade, several of such systems have been proposed [95,102,108].…”
Section: Code Example Recommendation Systemsmentioning
distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made. The images or other third party material in this book are included in the book's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the book's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use.
“…By automating all of these individual parts of the code reuse process, NLP2TestableCode aims to improve productivity and free up developers for other work. Because context switching has been shown to have a negative effect on productivity [19], we implement NLP2TestableCode as an in-editor tool that reduces the need to switch between the IDE and web browser.…”
versions of their work in any and all of the following sites:• Author's Homepage • Author's Institutional Repository • Any Repository legally mandated by the agency or funder funding the research on which the work is based • Any Non-Commercial Repository or Aggregation that does not duplicate ACM tables of contents. Non-Commercial Repositories are defined as Repositories owned by nonprofit organizations that do not charge a fee to access deposited articles and that do not sell advertising or otherwise profit from serving scholarly articles.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.