The Software Improvement (SWIM) Lab at Virginia Commonwealth University, led by Dr. Kostadin Damevski, is dedicated to advancing the state of the art in software maintenance and software engineering research. Our primary goal is to improve programmers' productivity and develop new methods and tools for evolving and maintaining high quality software systems. Specifically, we are interested in the following research topics:

  • Recommendation systems for software engineering
  • Mining of software repositories
  • Software maintenance and evolution
  • Feature Location
  • Software architectures
  • Empirical studies



  • Dr. Kostadin Damevski
  • Manziba Akanda Nishi -- Ph.D. Student
  • Agnieszka Ciborowska -- Ph.D. Student
  • John Coogle -- M.S. Student
  • ...we are actively looking for people to join SWIM Lab. please contact Dr. Damevski if interested.


  • Chase Greco -- M.S. Student -- CoStar
  • Tyler Haden -- B.S. Student -- CapTech
  • Kevin Ngo -- High School Student (Deep Run), 2017 -- Carnegie Mellon University

Recent Projects

  • Interaction-Aware Recommendation Systems for Software Engineers -- Recommendations are vital to improving complex cognitive tasks like software development. This project investigates integrating developer activity into recommendation systems.
    • Predicting future activity of a software developer. [IEEE TSE 2017]
    • StackInTheFlow behavior-driven recommendation system. [ICSE 2018 Tool]
  • Mining and Understanding Developer Communications -- Extracting information from various sources of developer communication, such as Q&A sites (e.g. StackOverflow), multi-participant chat, issue trackers, etc. in order to make it more accessible to developers or improve its quality.
  • Analysis of Developer Activity Logs -- Leveraging large scale datasets of developer micro-interactions with the IDE, in the field, to understand how they perform certain software engineering tasks. This research leads to recommendation systems that integrate such complex usage data.
  • Code Search (Feature Location)


In order of most to least recent.

  • KnowHows -- KnowHows is a Slack app that allows developers to query for channel participants that have knowledge of a specific development topic or API.
  • StackInTheFlow -- StackInTheFlow is a recommendation system that suggests Stack Overflow articles in IntelliJ.
  • Sando Code Search Tool -- Sando is a Visual Studio extension that helps developers locate relevant code in a large code base. (over 22K downloads, as of February 2016)
  • SenSee Android App -- SenSee is an Android application that collects data from each of the device's sensors and includes the ability to store this data on DropBox.