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.
- Software Engineering
- Development Tools
- Recommender Systems
- Static Analysis
- Machine Learning
- Programming Languages
- 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.
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.
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.
Number of items: 13.
Proksch, Sebastian ; Nadi, Sarah ; Amann, Sven ; Mezini, Mira
Salvaneschi, Guido ; Proksch, Sebastian ; Amann, Sven ; Nadi, Sarah ; Mezini, Mira
Proksch, Sebastian ; Amann, Sven ; Nadi, Sarah ; Mezini, Mira
Amann, Sven ; Proksch, Sebastian ; Nadi, Sarah
Proksch, Sebastian ; Amann, Sven ; Nadi, Sarah ; Mezini, Mira
Amann, Sven ; Proksch, Sebastian ; Nadi, Sarah ; Mezini, Mira
Cergani, Ervina ; Proksch, Sebastian ; Nadi, Sarah ; Mezini, Mira
Proksch, Sebastian ; Lerch, Johannes ; Mezini, Mira
Proksch, Sebastian ; Bauer, Veronika ; Murphy, Gail C.
Proksch, Sebastian ; Amann, Sven ; Mezini, Mira
Amann, Sven ; Proksch, Sebastian ; Mezini, Mira
Salvaneschi, Guido ; Amann, Sven ; Proksch, Sebastian ; Mezini, Mira