Research group

Machine Learning Methods in Software Engineering

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.

Group Members