ACM Home Page
Please provide us with feedback. Feedback
Smell detection for eclipse
Full text PdfPdf (36 KB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications table of contents
Vancouver, BC, CANADA
DEMONSTRATION SESSION: Demonstrations table of contents
Pages: 22 - 22  
Year of Publication: 2004
ISBN:1-58113-833-4
Authors
Arnab Bhattacharrya  MIT Computer Science & AI Lab, Cambridge, MA
Robert Fuhrer  IBM T.J. Watson Research Center, Hawthorne, NY
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): ,   Downloads (12 Months): ,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1028664.1028677
What is a DOI?

ABSTRACT

Smells are architectural, rather than functional, flaws in software that tend to reduce maintainability, extensibility, modularity, testability, or other software quality measures. Common smells include overly-long method bodies, message chains, parallel inheritance, use of switch statements to implement polymorphic behavior, data clumps, overly specific variable types, and duplicated code. Code duplication in particular is a well-known source of maintenance problems. Because smells do not represent functional flaws, they can be remediated by behavior-preserving transformations (i.e. refactorings).

We will demonstrate a nascent extensible smell detection framework for Java, implemented for the Eclipse IDE (www.eclipse.org). Our framework provides a simple Eclipse extension point for defining smell detectors, along with several basic smell detectors, including a reasonably efficient code duplication detector. Several of our smell detectors feature Eclipse quick-fix refactorings to automatically remediate smells upon the user's request. This transforms the tool from a mere problem indicator into a tool that actively assists developers in improving their code. We believe that such a facility has significant potential in educational settings, in directing a student's attention to software engineering principles while coding.

Our demonstration will consist of two parts. First, we'll demonstrate some of our smell detectors on realistic source code bases (including Eclipse itself), along with their corresponding quick-fix support. Second, we'll walk through the implementation of a very simple smell detector within our framework, along with a very simple remediation.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1

Collaborative Colleagues:
Arnab Bhattacharrya: colleagues
Robert Fuhrer: colleagues