Sebastian Proksch M.Sc.

Sebastian Proksch, M.Sc.

My research focus is on recommender systems for software engineering (RSSE) and self-learning tools that support developers in their daily programming tasks.

Developers need to have good knowledge about the libraries and frameworks they use. They spend a significant amount of their precious time by reading documentation and source code or by talking to more advanced users. In my vision, the IDE itself is the biggest source of information for developers and the IDE actively supports the learning process and increase the productivity.

Research has already proven that the combination of a statical analysis of large code bases and machine learning approaches, which extract knowledge from the analysis results, allows the creation of powerful tools for software developers. These tools transport the knowledge about correct usage of libraries and frameworks back into the IDE in the form of recommender engines and generated documentation. Developers are supported with valuable information without leaving their usual workflows.

I believe that this approach can be further extended by taking more information into account. My research focus is on the integration of other types of information like implicit developer feedback, expert knowledge, snippet mining from user platforms like stack overflow, etc. I'd like to use this data to further improve the learned models.

Last updated on June 13, 2014.

Contact

Research Interests

  • Software Engineering
  • Development Tools
  • Recommender Systems
  • Static Analysis
  • Machine Learning
  • Programming Languages

Projects

  • Eclipse Code Recommenders (ended)
    In my first year as a PhD student, I was committer of the Eclipse Code Recommenders Project. The focus of this project is to provide an intelligent code completion for Eclipse/Java. I learned a lot about build systems, clean code, and had some enlightening pair programming experiences at that time. I left the project as a committer when my research focus changed to other programming languages.
  • KaVE Project
    I'm project lead of the KaVE project. The project is part of the Software Campus, a program funded by the German government that supports young researchers and brings academia and industry together. We work together with an industry partner and develop a recommender system for Visual Studio/C#.
    The term “KaVE” is an abbreviation for the German title “Kombination automatisierter Verfahren mit Expertenwissen” (“Combination of automated approaches with experts knowledge”). The goal of the project is to enrich statically mined models with feedback provided by experts.
  • Matrix Factorization
    Together with Ervina Cergani, I'm exploring new machine learning approaches for novel recommender engines that is based on a matrix factorization technique. Ervina presented a novel approach for relation detection of categories in her master's theses and we are currently analyzing if the approach can be adapted for RSSEs. My main task is hereby to introduce Ervina to our existing code base and to integrate the new recommender into the established evaluation pipeline.
  • Snippet Mining
    In a cross-workgroup cooperation with Prof. Brefeld and Ervina Cergani, I'm exploring a new approach to create a snippet recommender. Source code is treated as an event stream and patterns are identified in it. A major advance compared to our former approaches is that this recommender also supports control structures and ordering relations in the proposed snippets.
  • Machine Learning for Bug Detection
    The security community is split into two areas: “defect prediction” tries to heuristically predict faulty source files, whereas “bug detection” uses (sound) static analyses to point to bugs in exact code lines. Both fields have advantages and disadvantages, the “ml4bugs” project tries to bridge the gap between both. The goal is to make the creation of a predictor very easy while on the same time pointing to more specific location than to files and to help the developer to locate the bug more easily. This is joint work with Sven Amann, Johannes Lerch, Michael Eichberg und Ervina Cergani.
  • Reusable Evaluation Dataset
    A major challenge in our field of research is to create reproducible results. One requirement is to use reusable date sets for the evaluation, however, this is often not the case. I have analyzed this problem in a recent paper together with Sven Amann. We proposed the idea of a data repository for reusable and extensible datasets. This project is still more a vision than an actual project, however, we plan to continue this idea. Please get in contact with us if you are interested in a cooperation or to provide feedback.
  • Others
    I think that, in addition to very focused knowledge, it is also important to have a broad set of skills and knowledge in other topics. Therefore, I'm eager to do continuous learning. To just name a few of my interests and activities: I'm a regular visitor of the talks at the Java User Group Darmstadt, I attended a Scrum class to become a certified scrum master, I recently received a Unicert 3 certification in English, and I try to attend one lecture each semester to learn new things.
    I also have some prior experience in system administration, so I'm jointly responsible for instructing our trainee system administrators together with Richard Bubel. Their main task is to keep the infrastructure of our research group up and running. I'm supervising their work on our Linux-based servers/services and the network hardware.
    In my spare time I like to meet with friends, to read English books, to work on techy pet-projects, and I'm also a big movie fan.

Open Theses

Below is a list of thesis topics I am currently offering. Please contact me if you are interested in working on any of these (or other related projects/topics). You can also find all open theses of our group here.

Currently no items available.

Teaching

Term Courses
Summer 2014
  • Oral exam assistance for the lecture “Enterprise Application Design”
Winter 2013/14
  • General organization of the “Software Engineering Project”
  • Advisor for the “Software Engineering Project” team “assistio”
  • Member of the Jury for the Final Presentations of KIVA5
Summer 2013
  • Advisor for the diploma thesis “Verwendungsmusteranalyse von auf Moduldefinitionen basierenden Javascript-Anwendungen” by Ulf Karrock
  • Advisor for the bachelor thesis “Code Completion for JavaScript Code with N-Grams” by Sven Keidel
Winter 2012/13
  • Teaching Assistant of the lecture “Grundlagen der Informatik 1”, responsible for general organization and the programming project.
  • General organization of the “Software Engineering Project” together with Ralf Mitschke.
  • Advisor for the “Software Engineering Project” team “Time Scale”
  • Advisor of a topic in the practical course 'Software Development Tools'
Summer 2012
  • Teaching Assistant of 'Software Engineering: Design & Construction'.
  • Advisor for 'Plug-In Development in Eclipse', a hands-on training jointly offered by several members of the Software Technology Group.
  • Organisator of the 'Software Engineering Project' together with Ralf Mitschke.
Winter 2011/12
  • Advisor for 'Plug-In Development in Eclipse', a hands-on training jointly offered by several members of the Software Technology Group.
  • Organisator of the 'Software Engineering Project' together with Ralf Mitschke.

Publications

Group by: Date | Item type | No grouping
Jump to: 2017 | 2016 | 2015 | 2014
Number of items: 12.

2017

Proksch, Sebastian ; Nadi, Sarah ; Amann, Sven ; Mezini, Mira :
Enriching In-IDE Process Information with Fine-Grained Source Code History.
In: International Conference on Software Analysis, Evolution, and Reengineering, 21-24 Feb 2017, Klagenfurt, Austria.
[Conference or workshop item], (2017)

Salvaneschi, Guido ; Proksch, Sebastian ; Amann, Sven ; Nadi, Sarah ; Mezini, Mira :
On the Positive Effect of Reactive Programming on Software Comprehension: An Empirical Study.
[Online-Edition: http://ieeexplore.ieee.org/document/7827078/]
IEEE ISSN 1939-3520
[Journal], (2017) (Im Druck)

2016

Proksch, Sebastian ; Amann, Sven ; Nadi, Sarah ; Mezini, Mira :
Evaluating the Evaluations of Code Recommender Systems: A Reality Check.
[Online-Edition: http://doi.acm.org/10.1145/2970276.2970330]
In: International Conference on Automated Software Engineering pp. 111-121. ISSN 978-1-4503-3845-5
[Article], (2016)

Amann, Sven ; Proksch, Sebastian ; Nadi, Sarah :
FeedBaG: An Interaction Tracker for Visual Studio.
[Online-Edition: http://sven-amann.de/publications/feedbag.pdf]
In: International Conference on Program Comprehension, May 16–17, 2016, Austin, Texas, USA. In: ICPC .
[Conference or workshop item], (2016)

Proksch, Sebastian ; Amann, Sven ; Nadi, Sarah ; Mezini, Mira :
A Dataset of Simplified Syntax Trees for C#.
[Online-Edition: http://doi.acm.org/10.1145/2901739.2903507]
In: 13th International Conference on Mining Software Repositories, May 14–15, 2016, Austin, Texas, USA. In: MSR'16 .
[Conference or workshop item], (2016)

Amann, Sven ; Proksch, Sebastian ; Nadi, Sarah ; Mezini, Mira :
A Study of Visual Studio Usage in Practice.
[Online-Edition: http://dx.doi.org/10.1109/SANER.2016.39]
In: 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering, 14-18 March 2016, Osaka, Japan. In: SANER '16 .
[Conference or workshop item], (2016)

Cergani, Ervina ; Proksch, Sebastian ; Nadi, Sarah ; Mezini, Mira :
Addressing Scalability in API Method Call Analytics.
[Online-Edition: https://doi.org/10.1145/2989238.2989240]
Proceedings of the 2nd International Workshop on Software Analytics
[Conference or workshop item], (2016)

2015

Proksch, Sebastian ; Lerch, Johannes ; Mezini, Mira :
Intelligent Code Completion with Bayesian Networks.
[Online-Edition: http://doi.acm.org/10.1145/2744200]
In: ACM Transactions on Software Engineering and Methodology (TOSEM), 25 (1) 3:1-3:31.
[Article], (2015)

Proksch, Sebastian ; Bauer, Veronika ; Murphy, Gail C.
Meyer, Bertrand ; Nordio, Martin (eds.) :

How to Build a Recommendation System for Software Engineering.
[Online-Edition: http://www.springer.com/gb/book/9783319284057]
In: Advances in the theory and practice of software engineering - LASER 2013-2014. LNCS, 8987. Springer , pp. 1-42.
[Book section], (2015)

2014

Proksch, Sebastian ; Amann, Sven ; Mezini, Mira :
Towards Standardized Evaluation of Developer-Assistance Tools.
[Online-Edition: http://dx.doi.org/10.1145/2593822.2593827]
Proceedings of the 4th International Workshop on Recommendation Systems for Software Engineering - RSSE 2014
[Conference or workshop item], (2014)

Amann, Sven ; Proksch, Sebastian ; Mezini, Mira :
Method-Call Recommendations from Implicit Developer Feedback.
[Online-Edition: http://dx.doi.org/10.1145/2593728.2593730]
Proceedings of the 1st International Workshop on CrowdSourcing in Software Engineering - CSI-SE 2014
[Conference or workshop item], (2014)

Salvaneschi, Guido ; Amann, Sven ; Proksch, Sebastian ; Mezini, Mira :
An empirical study on program comprehension with reactive programming.
[Online-Edition: http://dx.doi.org/10.1145/2635868.2635895]
Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering - FSE 2014
[Conference or workshop item], (2014)

This list was generated on Fri Mar 24 08:45:46 2017 CET.