Research

This page provides possible research topics (for BS, MS, or PhD level). Students interested in working with me might be able to think possible solutions to one of these problems. English skills is required for any of them (reading at least).

  1. Understanding dual licenses in open-source software
    Questions: How common are dual-license software? Why developers use two+ licenses?
    Skills: script programming (e.g., Python, Lua, Ruby, etc)
    Related Work: MSR’18

  2. Understanding Students Behavior in Open-Source Communities
    Questions: What kind of contributors are made by students? Are they working for some classroom projects? summer job? hackathons?
    Skills: script programming (e.g., Python, Lua, Ruby, etc)
    Related work: CSEET’17

  3. Personality traits of casual contributors
    Questions: Are casual contributors casual in many/few/other projects? Where are they based/from?
    Skills: script programming (e.g., Python, Lua, Ruby, etc)
    Related work: SANER’16

  4. How do practitioners perceive software engineering research?
    Questions: What are the practitioners’ perception about SE research?
    Skills: script programming (e.g., Python, Lua, Ruby, etc)
    Related work: MSR’17

  5. What are company’s motivations behind the transition from proprietary to open-source software?
    Skills: English communication
    Related work: VEM’17, EMSE’18

  6. Automatic test generation for partial programs
    Question: How can we test partial program?
    Skills: system programming (e.g., Go, Java, C, etc)

  7. A large scale study on data races
    Question: investigating the evolution of data races on complicated benchmarks over a larger variety of programs.
    Skills: system programming (e.g., Go, Java, C, etc)
    Related work: JSS’15

  8. Issues Smells
    Questions: What are the most common problems related to issue report?
    Skills: script programming (e.g., Python, Lua, Ruby, etc)

  9. Studying the differences between commercial developers and volunteers Questions: With commercial developers not working directly on their company’s projects (e.g., GitHub employees working on other, non-GitHub-owned projects).
    Skills: script programming (e.g., Python, Lua, Ruby, etc)
    Related work: CHASE’18

  10. Mining wrong data without doing anything obviously wrong
    Questions: What are the hidden challenges on large scale software mining?
    Skills: script programming (e.g., Python, Lua, Ruby, etc)

  11. Does popularity mean correctness?
    Questions: How can we evaluate if Stack Overflow answers are indeed correct?
    Skills: script programming (e.g., Python, Lua, Ruby, etc)

  12. Improving LOC calculation
    Question: Loc might consider JS libraries users used within the app, which could inflate LOC towards JS
    Skills: script programming (e.g., Python, Lua, Ruby, etc)

  13. When testers stop to look for bugs?
    Question: “we cannot achieve 100% confidence no matter how much time and energy we put into it”. When/How do testers stop?
    Skills: English communication

  14. Improving developers participation in pull-requests research
    Question: How often are PRs send in SE studies rejected? How could we improve this?
    Skills: English communication

  15. Automation will not fix your broken culture
    Question: A position paper that reports the importance of social aspects on software eng practice
    Skills: English communication

  16. What makes a great open source maintainer?
    Skills: English communication
    Related Work: https://dl.acm.org/citation.cfm?id=2818839, https://github.com/nayafia/awesome-maintainers

  17. GitHub stars as a proxy for popularity considered harmful
    Skills: English communication
    Related work: https://blog.tidelift.com/dont-judge-a-project-by-its-github-stars-alone

  18. Understanding large files in OSS projects
    Skills: script programming (e.g., Python, Lua, Ruby, etc)