4.6 Article

Identification, Impact, and Refactoring of Smells in Pipe-Like Web Mashups

期刊

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
卷 39, 期 12, 页码 1654-1679

出版社

IEEE COMPUTER SOC
DOI: 10.1109/TSE.2013.42

关键词

End-user software engineering; end-user programming; web mashups; refactoring; code smells; empirical studies

资金

  1. US National Science Foundation (NSF) Graduate Research Fellowship CFDA [47.076]
  2. NSF [0915526]
  3. AFOSR [9550-10-1-0406]
  4. Direct For Computer & Info Scie & Enginr
  5. Division of Computing and Communication Foundations [0915526] Funding Source: National Science Foundation

向作者/读者索取更多资源

With the emergence of tools to support visual mashup creation, tens of thousands of users have started to access, manipulate, and compose data from web sources. We have observed, however, that mashups created by these users tend to suffer from deficiencies that propagate as mashups are reused, which happens frequently. To address these deficiencies, we would like to bring some of the benefits of software engineering techniques to the end users creating these programs. In this work, we focus on identifying code smells indicative of the deficiencies we observed in web mashups programmed in the popular Yahoo! Pipes environment. Through an empirical study, we explore the impact of those smells on the preferences of 61 users, and observe that a significant majority of users prefer mashups without smells. We then introduce refactorings targeting those smells. These refactorings reduce the complexity of the mashup programs, increase their abstraction, update broken data sources and dated components, and standardize their structures to fit the community development patterns. Our assessment of a sample of over 8,000 mashups shows that smells are present in 81 percent of them and that the proposed refactorings can reduce the number of smelly mashups to 16 percent, illustrating the potential of refactoring to support the thousands of end-users programming mashups. Further, we explore how the smells and refactorings can apply to other end-user programming domains to show the generalizability of our approach.

作者

我是这篇论文的作者
点击您的名字以认领此论文并将其添加到您的个人资料中。

评论

主要评分

4.6
评分不足

次要评分

新颖性
-
重要性
-
科学严谨性
-
评价这篇论文

推荐

Article Computer Science, Software Engineering

Code search with input/output queries: Generalizing, ranking, and assessment

Kathryn T. Stolee, Sebastian Elbaum, Matthew B. Dwyer

JOURNAL OF SYSTEMS AND SOFTWARE (2016)

Article Computer Science, Information Systems

Discovering how end-user programmers and their communities use public repositories: A study on Yahoo! Pipes

Kathryn T. Stolee, Sebastian Elbaum, Anita Sarma

INFORMATION AND SOFTWARE TECHNOLOGY (2013)

Article Computer Science, Software Engineering

SOSRepair: Expressive Semantic Search for Real-World Program Repair

Afsoon Afzal, Manish Motwani, Kathryn T. Stolee, Yuriy Brun, Claire Le Goues

Summary: Automated program repair has the potential to reduce software maintenance cost and effort, but often leads to low-quality patches. By replacing faulty code regions with semantically similar code at a higher granularity level, better patch quality can be achieved. Techniques like SOSRepair show promise in effectively repairing real-world defects in systems.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2021)

Article Computer Science, Software Engineering

Fair Enough: Searching for Sufficient Measures of Fairness

Suvodeep Majumder, Joymallya Chakraborty, Gina R. Bai, Kathryn T. Stolee, Tim Menzies

Summary: Testing machine learning software for ethical bias is a pressing current concern. Research shows that many fairness metrics effectively measure the same thing. Through experiments, it is found that these metrics can be grouped and each group may predict different things. Therefore, to simplify the fairness testing problem, it is recommended to test one metric per group based on the desired fairness type.

ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY (2023)

Proceedings Paper Computer Science, Software Engineering

Cross-Language Code Search using Static and Dynamic Analyses

George Mathew, Kathryn T. Stolee

Summary: Code-to-Code Search Across Languages (COSAL) is a cross-language technique that combines static and dynamic analyses to identify similar code without the need for a machine learning model. It ranks code snippets using non-dominated sorting based on code token, structural, and behavioral similarity, outperforming current within-language and cross-language code-to-code search tools in terms of precision and recall. COSAL shows promise for practical, multi-language code search on large open-source repositories.

PROCEEDINGS OF THE 29TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '21) (2021)

Proceedings Paper Computer Science, Software Engineering

Evaluating How Static Analysis Tools Can Reduce Code Review Effort

Devarshi Singh, Varun Ramachandra Sekar, Kathryn T. Stolee, Brittany Johnson

2017 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING (VL/HCC) (2017)

Proceedings Paper Computer Science, Software Engineering

At the End of Synthesis: Narrowing Program Candidates

David Shriver, Sebastian Elbaum, Kathryn T. Stolee

2017 IEEE/ACM 39TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: NEW IDEAS AND EMERGING TECHNOLOGIES RESULTS TRACK (ICSE-NIER) (2017)

Proceedings Paper Computer Science, Software Engineering

Exploring Regular Expression Comprehension

Carl Chapman, Peipei Wang, Kathryn T. Stolee

PROCEEDINGS OF THE 2017 32ND IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE'17) (2017)

Proceedings Paper Computer Science, Software Engineering

How Developers Search for Code: A Case Study

Caitlin Sadowski, Kathryn T. Stolee, Sebastian Elbaum

2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS (2015)

Proceedings Paper Computer Science, Software Engineering

Exploring the Benefits of Using Redundant Responses in Crowdsourced Evaluations

Kathryn T. Stolee, James Saylor, Trevor Lund

SECOND INTERNATIONAL WORKSHOP ON CROWDSOURCING IN SOFTWARE ENGINEERING CSI-SE 2015 (2015)

Proceedings Paper Computer Science, Software Engineering

Refactoring Pipe-like Mashups for End-User Programmers

Kathryn T. Stolee, Sebastian Elbaum

2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE) (2011)

Proceedings Paper Computer Science, Theory & Methods

Expressing Computer Science Concepts Through Kodu Game Lab

Kathryn T. Stolee, Teale Fristoe

SIGCSE 11: PROCEEDINGS OF THE 42ND ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION (2011)

暂无数据