Logo Oapen
  • Join
    • Deposit
    • For Librarians
    • For Publishers
    • For Researchers
    • Funders
    • Resources
    • OAPEN
        View Item 
        •   OAPEN Home
        • View Item
        •   OAPEN Home
        • View Item
        JavaScript is disabled for your browser. Some features of this site may not work without it.

        Learning Code Transformations from Repositories

        Thumbnail
        Download PDF Viewer
        Web Shop
        Author(s)
        Dotzler, Georg
        Language
        English
        Show full item record
        Abstract
        Library updates, program errors, and maintenance tasks in general force developers to apply the same code change to different locations within their projects. If the locations are very different to each other, it is very time-consuming to identify all of them. Even with sufficient time, there is no guarantee that a manual search reveals all locations. If the change is critical, each missed location can lead to severe consequences. The manual application of the code change to each location can also get tedious. If the change is larger, developers have to execute several transformation steps for each code location. In the worst case, they forget a required step and thus add new errors to their projects. To support developers in this task, this thesis presents the recommendation system ARES. It leads to more accurate recommendations compared to previous approaches. ARES achieves this by conserving variations in the training examples in more detail due to its pattern design and by an improved handling of code movements. With the tool C3, this thesis also presents an extension to ARES that allows the extraction of training examples from code repositories. In combination, both tools create a recommendation system that automatically learns code recommendation patterns from repositories. ARES, C3, and similar tools rely on lists of edit operations to express code changes. However, creating compact (i.e., short) lists of edit operations from data in repositories is difficult. As previous approaches produce too long lists for ARES and C3, this thesis presents a novel tree differencing approach called MTDIFF. The evaluation shows that MTDIFF shortens the edit operation lists compared to other state-of-the-art approaches.
        URI
        https://library.oapen.org/handle/20.500.12657/109162
        Keywords
        Refactoring; Empfehlungssystem; Tree Differencing; Software Engineering Programmtransformation Program Transformation; Software Engineering; Abstrakter Syntaxbaum
        DOI
        10.25593/978-3-96147-142-3
        ISBN
        9783961471423, 9783961471423, 9783961471416
        Publisher
        FAU University Press
        Publisher website
        https://www.university-press.fau.de/
        Publication date and place
        Erlangen, 2018
        Series
        FAU Studien aus der Informatik, 5
        Classification
        Computing and Information Technology
        Pages
        288
        Rights
        https://creativecommons.org/licenses/by-nc-nd/4.0/
        • Imported or submitted locally

        Browse

        All of OAPENSubjectsPublishersLanguagesCollections

        My Account

        LoginRegister

        Export

        Repository metadata
        Logo Oapen
        • For Librarians
        • For Publishers
        • For Researchers
        • Funders
        • Resources
        • OAPEN

        Newsletter

        • Subscribe to our newsletter
        • view our news archive

        Follow us on

        License

        • If not noted otherwise all contents are available under Attribution 4.0 International (CC BY 4.0)

        Credits

        • logo EU
        • This project received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No 683680, 810640, 871069 and 964352.

        OAPEN is based in the Netherlands, with its registered office in the National Library in The Hague.

        Director: Niels Stern

        Address:
        OAPEN Foundation
        Prins Willem-Alexanderhof 5
        2595 BE The Hague
        Postal address:
        OAPEN Foundation
        P.O. Box 90407
        2509 LK The Hague

        Websites:
        OAPEN Home: www.oapen.org
        OAPEN Library: library.oapen.org
        DOAB: www.doabooks.org

         

         

        Export search results

        The export option will allow you to export the current search results of the entered query to a file. Differen formats are available for download. To export the items, click on the button corresponding with the preferred download format.

        A logged-in user can export up to 15000 items. If you're not logged in, you can export no more than 500 items.

        To select a subset of the search results, click "Selective Export" button and make a selection of the items you want to export. The amount of items that can be exported at once is similarly restricted as the full export.

        After making a selection, click one of the export format buttons. The amount of items that will be exported is indicated in the bubble next to export format.