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).
-
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 -
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 -
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 -
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 -
What are company’s motivations behind the transition from proprietary to open-source software?
Skills: English communication
Related work: VEM’17, EMSE’18 -
Automatic test generation for partial programs
Question: How can we test partial program?
Skills: system programming (e.g., Go, Java, C, etc) -
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 -
Issues Smells
Questions: What are the most common problems related to issue report?
Skills: script programming (e.g., Python, Lua, Ruby, etc) -
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 -
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) -
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) -
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) -
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 -
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 -
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 -
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 -
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 -
Understanding large files in OSS projects
Skills: script programming (e.g., Python, Lua, Ruby, etc)