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: "Proceedings of the 2009 ACM Conference on Recommender Systems, RecSys 2009, New York, NY, USA, October 23-25, 2009" editor: - name: "Lawrence D. Bergman" link: "https://researchr.org/alias/lawrence-d.-bergman" - name: "Alexander Tuzhilin" link: "https://researchr.org/alias/alexander-tuzhilin" - name: "Robin D. Burke" link: "https://researchr.org/alias/robin-d.-burke" - name: "Alexander Felfernig" link: "https://researchr.org/alias/alexander-felfernig" - name: "Lars Schmidt-Thieme" link: "https://researchr.org/alias/lars-schmidt-thieme" publisher: "ACM" isbn: "978-1-60558-435-5" 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: "International Workshop on Recommendation Systems for Software Engineering, Proceedings" editor: - name: "Martin Robillard" link: "https://researchr.org/alias/martin-robillard" - name: "Robert J. Walker" link: "https://researchr.org/alias/robert-j.-walker" - name: "Thomas Zimmermann" link: "https://researchr.org/alias/thomas-zimmermann" 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: "Proceedings of the 7th joint meeting of the European Software Engineering Conference and the ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2009, Amsterdam, The Netherlands, August 24-28, 2009" editor: - name: "Hans van Vliet" link: "http://www.cs.vu.nl/~hans/" - name: "Valérie Issarny" link: "https://researchr.org/alias/val%C3%A3%C2%A9rie-issarny" publisher: "ACM" isbn: "978-1-60558-001-2" 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: "Proceedings of the 2006 OOPSLA workshop on Eclipse Technology eXchange, ETX 2006, Portland, Oregon, USA, October 22-23, 2006" editor: - name: "Michael G. Burke" link: "https://researchr.org/alias/michael-g.-burke" - name: "Alessandro Orso" link: "https://researchr.org/alias/alessandro-orso" - name: "Martin P. Robillard" link: "https://researchr.org/alias/martin-p.-robillard" publisher: "ACM" isbn: "1-59593-621-1" 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: "Proceedings of the 2005 OOPSLA workshop on Eclipse Technology eXchange, ETX 2005, San Diego, California, USA, October 16-17, 2005" editor: - name: "Margaret-Anne D. Storey" link: "http://" - name: "Michael G. Burke" link: "https://researchr.org/alias/michael-g.-burke" - name: "Li-Te Cheng" link: "https://researchr.org/alias/li-te-cheng" - name: "André van der Hoek" link: "http://www.ics.uci.edu/~andre/" publisher: "ACM" isbn: "1-59593-342-5" kind: "inproceedings" key: "BruchBSM05"