Applications of data science are growing in popularity in many fields of research and industry, including software engineering. With this group, we aim to merge current state-of-the-art practices in both areas, by improving modern software engineering tools and discovering new ways to develop and maintain code.
Our current areas of interest:
- Detecting defects in object-oriented architecture and automatic recommendation of appropriate refactorings that optimize code structure.
- Code clones detection and tools for automatic detection and extraction of reusable code fragments.
- Building richer embeddings of code for plagiarism detection, method and variable name prediction, and code summarization.
- Analysis of dynamics of developers’ coding style.
- Utilizing historical data to augment collaboration tools, e.g. through recommender systems.
- Anomaly detection on code.
- Automated code generation from natural language descriptions, API calls used, etc.
- Automated coding assistance both for students and seasoned developers, including finding/fixing typical errors, IDE feature discovery and adoption, user intent and context analysis.
- Commit-based analysis of code repositories predicting methods to change, bugs location, and other events.
- Methods for automated bug detection and program repair.