skip to main content
10.1145/1083142.1083148acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Error detection by refactoring reconstruction

Published:17 May 2005Publication History

ABSTRACT

In many cases it is not sufficient to perform a refactoring only at one location of a software project. For example, refactorings may have to be performed consistently to several classes in the inheritance hierarchy, e.g. subclasses or implementing classes, to preserve equal behavior.In this paper we show how to detect incomplete refactorings - which can cause long standing bugs because some of them do not cause compiler errors - by analyzing software archives. To this end we reconstruct the class inheritance hierarchies, as well as refactorings on the level of methods. Then, we relate these refactorings to the corresponding hierarchy in order to find missing refactorings and thus, errors and inconsistencies that have been introduced in a software project at some point of the history.Finally. we demonstrate our approach by case studies on two open source projects.

References

  1. P. Cederqvist. Version Management with CVS. http://www.cvshome.org/docs/manual/.Google ScholarGoogle Scholar
  2. M. Fowler, K. Beck, J. Brant, W. Opdyke, and D. Roberts. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. C. Görg and P. Weißgerber. Detecting and Visualizing Refactorings from Software Archives. In Proceedings of the 13th International Workshop on Program Comprehension (IWPC 2005), St. Louis, Missouri, U.S., 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. T. J. McCabe. A Complexity Measure. IEEE Transactions on Software Engineering, Vol. 2, 1976.Google ScholarGoogle Scholar
  5. T. J. Ostrand and E. J. Weyuker. A Tool for Mining Defect-Tracking Systems to Predict Fault-Prone Files. In Proc. International Workshop on Mining Software Repositories (MSR 2004), Edinburgh, Scotland, U.K., 2004.Google ScholarGoogle ScholarCross RefCross Ref
  6. O. N. Serge Demeyer, Stéphane Ducasse. Finding Refactorings via Change Metrics. In Proceedings of ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2000), Minneapolis, Minnesota, U.S., 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. The Eclipse Foundation. Eclipse Homepage. http://www.eclipse.org.Google ScholarGoogle Scholar
  8. T. Zimmermann and P. Weißgerber. Preprocessing CVS Data for Fine-Grained Analysis. In Proc. International Workshop on Mining Software Repositories (MSR 2004), Edinburgh, Scotland, U.K., 2004.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Error detection by refactoring reconstruction

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Other conferences
        MSR '05: Proceedings of the 2005 international workshop on Mining software repositories
        May 2005
        109 pages
        ISBN:1595931236
        DOI:10.1145/1083142
        • cover image ACM SIGSOFT Software Engineering Notes
          ACM SIGSOFT Software Engineering Notes  Volume 30, Issue 4
          July 2005
          1514 pages
          ISSN:0163-5948
          DOI:10.1145/1082983
          Issue’s Table of Contents

        Copyright © 2005 Authors

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 17 May 2005

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader