publications: - title: "Maximum margin matrix factorization for code recommendation" author: - name: "Markus Weimer" link: "https://researchr.org/alias/markus-weimer" - name: "Alexandros Karatzoglou" link: "https://researchr.org/alias/alexandros-karatzoglou" - name: "Marcel Bruch" link: "http://www.stg.tu-darmstadt.de/staff/marcel_bruch/index.en.jsp" year: "2009" doi: "http://doi.acm.org/10.1145/1639714.1639775" abstract: "Code recommender systems ease the use and learning of software frameworks and libraries by recommending calls based on already present code. Typically, code recommender tools have been based on rather simple rule based systems while many of the recent advances in Recommender Systems and Collaborative Filtering have been largely focused on rating data. While many of these advances can be incorporated in the code recommendation setting this problem also brings considerable challenges of its own. In this paper, we extend state-of-the-art collaborative filtering technology, namely Maximum Margin Matrix Factorization (MMMF) to this interesting application domain and show how to deal with the challenges posed by this problem. To this end, we introduce two new loss functions to the MMMF model. While we focus on code recommendation in this paper, our contributions and the methodology we propose can be of use in almost any collaborative setting that can be represented as a binary interaction matrix. We evaluate the algorithm on real data drawn from the Eclipse Open Source Project. The results show a significant improvement over current rule-based approaches. " links: doi: "http://doi.acm.org/10.1145/1639714.1639775" tags: - "rule-based" - "Eclipse" - "application framework" - "meta-model" - "recommender systems" - "collaborative filtering" - "data-flow" - "source-to-source" - "rules" - "collaborative learning" - "Meta-Environment" - "systematic-approach" - "recommendation algorithm" - "open-source" researchr: "https://researchr.org/publication/WeimerKB09" cites: 5 citedby: 0 pages: "309-312" booktitle: "recsys" kind: "inproceedings" key: "WeimerKB09" - title: "On evaluating recommender systems for API usages" author: - name: "Marcel Bruch" link: "http://www.stg.tu-darmstadt.de/staff/marcel_bruch/index.en.jsp" - name: "Sch\\\"{a}fer, Thorsten" link: "https://researchr.org/alias/sch%5Eb%22%7Ba%7Dfer%2C-thorsten" - name: "Mezini, Mira" link: "https://researchr.org/alias/mezini%2C-mira" year: "2008" doi: "http://doi.acm.org/10.1145/1454247.1454254" abstract: "To ease framework understanding, tools have been developed that analyze existing framework instantiations to extract API usage patterns and present them to the user. However, detailed quantitative evaluations of such recommender systems are lacking. In this paper we present an automated evaluation process which extracts queries and expected results from existing code bases. This enables the validation of recommendation systems with large test beds in an objective manner by means of precision and recall measures. We demonstrate the applicability of our approach by evaluating an improvement of an existing API recommender tool that takes into account the framework-method context for recommendations." links: doi: "http://doi.acm.org/10.1145/1454247.1454254" tags: - "recommender systems" - "testing" - "context-aware" - "systematic-approach" researchr: "https://researchr.org/publication/1454254" cites: 15 citedby: 1 booktitle: "RSSE" kind: "inproceedings" key: "1454254" - title: "IDE 2.0: Collective Intelligence in Software Development" author: - name: "Marcel Bruch" link: "http://www.stg.tu-darmstadt.de/staff/marcel_bruch/index.en.jsp" year: "2010" doi: "http://code-recommenders.blogspot.com/2010/08/eclipse-and-academia-briding-gap.html" abstract: "Today’s Integrated Development Environments (IDEs) only integrate the tools and knowledge of a single user and workstation. This neglects the fact that the way in which we develop and maintain a piece of software and interact with our IDE provides a rich source of information that can help ourselves and other programmers to avoid mistakes in the future, or improve productivity otherwise. We argue that, in the near future, IDEs will undergo a revolution that will significantly change the way in which we develop and maintain software, through integration of collective intelligence, the knowledge of the masses. We describe the concept of an IDE based on collective intelligence and discuss three example instantiations of such IDEs. " links: doi: "http://code-recommenders.blogspot.com/2010/08/eclipse-and-academia-briding-gap.html" "html": "http://code-recommenders.blogspot.com/2010/08/eclipse-and-academia-briding-gap.html" tags: - "rule-based" - "source-to-source" - "peer-to-peer" - "Meta-Environment" - "open-source" researchr: "https://researchr.org/publication/Bruch2010" cites: 11 citedby: 0 kind: "misc" key: "Bruch2010" - title: "Learning from examples to improve code completion systems" author: - name: "Marcel Bruch" link: "http://www.stg.tu-darmstadt.de/staff/marcel_bruch/index.en.jsp" - name: "Martin Monperrus" link: "https://researchr.org/alias/martin-monperrus" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" year: "2009" doi: "http://doi.acm.org/10.1145/1595696.1595728" abstract: "The suggestions made by current IDE's code completion features are based exclusively on static type system of the programming language. As a result, often proposals are made which are irrelevant for a particular working context. Also, these suggestions are ordered alphabetically rather than by their relevance in a particular context. In this paper, we present intelligent code completion systems that learn from existing code repositories. We have implemented three such systems, each using the information contained in repositories in a different way. We perform a large-scale quantitative evaluation of these systems, integrate the best performing one into Eclipse, and evaluate the latter also by a user study. Our experiments give evidence that intelligent code completion systems which learn from examples significantly outperform mainstream code completion systems in terms of the relevance of their suggestions and thus have the potential to enhance developers' productivity. " links: doi: "http://doi.acm.org/10.1145/1595696.1595728" tags: - "programming languages" - "rule-based" - "Eclipse" - "type system" - "code completion" - "programming" - "context-aware" researchr: "https://researchr.org/publication/BruchMM09" cites: 27 citedby: 1 pages: "213-222" booktitle: "FSE" kind: "inproceedings" key: "BruchMM09" - title: "FrUiT: IDE support for framework understanding" author: - name: "Marcel Bruch" link: "http://www.stg.tu-darmstadt.de/staff/marcel_bruch/index.en.jsp" - name: "Thorsten Schäfer" link: "https://researchr.org/alias/thorsten-sch%C3%A4fer" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" year: "2006" doi: "http://doi.acm.org/10.1145/1188835.1188847" links: doi: "http://doi.acm.org/10.1145/1188835.1188847" tags: - "Eclipse" researchr: "https://researchr.org/publication/BruchSM06" cites: 0 citedby: 1 pages: "55-59" booktitle: "eclipse" kind: "inproceedings" key: "BruchSM06" - title: "eAssignment: a case for EMF" author: - name: "Marcel Bruch" link: "http://www.stg.tu-darmstadt.de/staff/marcel_bruch/index.en.jsp" - name: "Christoph Bockisch" link: "http://www.utwente.nl/ewi/trese/people/Bockisch/" - name: "Thorsten Schäfer" link: "https://researchr.org/alias/thorsten-sch%C3%A4fer" - name: "Mira Mezini" link: "https://researchr.org/alias/mira-mezini" year: "2005" doi: "http://doi.acm.org/10.1145/1117696.1117719" links: doi: "http://doi.acm.org/10.1145/1117696.1117719" tags: - "Eclipse" - "EMF" researchr: "https://researchr.org/publication/BruchBSM05" cites: 0 citedby: 0 pages: "110-114" booktitle: "eclipse" kind: "inproceedings" key: "BruchBSM05"