About Me

I am an Assistant Professor of Software Engineering in the Department of Computer Science at Virginia Tech. You can find me in my office at 2217 Knowledge Works II.

My research focuses on software development productivity and software quality.

I use software evolution analysis and program analysis to create practical, efficient, and human-friendly techniques and tools that provide automatic support for all stages of software development. My research interests also include mining of software repositories, program comprehension, and software visualization.

News

2021 Received the NSF CAREER Award
2021 Paper accepted to Journal of Systems and Software (JSS): “GEML : A Grammar-based Evolutionary Machine Learning Approach for Design-Pattern Detection”
2021 Paper accepted to Journal of Systems and Software (JSS): “Fast and Accurate Incremental Feedback for Students’ Software Tests Using Selective Mutation Analysis”
2021 Paper accepted to ICSE’21 Technical Research Track: “What helped, and what did not? An Evaluation of the Strategies to Improve Continuous Integration”
2021 Paper accepted to IEEE S&P’21 Technical Research Track: “Using Selective Memoization to Defeat Regular Expression Denial of Service (ReDoS)”

Join My Lab

Are you interested in software engineering research?

I am actively recruiting students. My research interests include, among other topics, software development productivity, software quality, mining of software repositories, program comprehension, and software visualization.

If you are interested in working with me, send me an email with the following information:

  • Why do you want to do research with me? Why are you interested in doing research? Do you share my research interests? Did any of my papers inspire you with some new ideas?

  • Are you interested in graduate school? Do you want to pursue a Ph.D., a Master’s thesis, or do you just want to pursue an interesting research project?

  • What are your skills? Send me your C.V. Are you a great programmer? Send me something you coded. Are you a strong writer? Send me a paper that you wrote.

Biography

Francisco Servant is an Assistant Professor in the Department of Computer Science at Virginia Tech. His research focuses on software development productivity and software quality.

Francisco uses software evolution analysis and program analysis to create practical, efficient, and human-friendly techniques and tools that provide automatic support for all stages of software development. His research interests include software development productivity, software quality, mining of software repositories, program comprehension, and software visualization. He has published articles in these areas at top software engineering conferences (e.g., ICSE, FSE, ASE) and he has performed research for large technology companies, such as Microsoft Research and DreamWorks Animation.

Francisco received a Ph.D. in Software Engineering from the University of California, Irvine, under the supervision of James A. Jones. He also holds a M.S. in Information and Computer Sciences from the same university supervised by André van der Hoek. Francisco obtained his B.S. in Computer Science from the University of Granada in Spain.

Research

Refereed Journal Publications

JSS’21
Rafael Barbudo, Aurora Ramírez, Francisco Servant, José Raúl Romero. “GEML : A Grammar-based Evolutionary Machine Learning Approach for Design-Pattern Detection”. Journal of Systems and Software (JSS), 2021, 32 pages, to appear.
JSS’21
Ayaan M. Kazerouni, James C. Davis, Arinjoy Basak, Clifford A. Shaffer, Francisco Servant, Stephen H. Edwards, “Fast and Accurate Incremental Feedback for Students’ Software Tests Using Selective Mutation Analysis”. Journal of Systems and Software (JSS), 2021, 22 pages, to appear.

Top-tier Conference Publications

ICSE’21
Xianhao Jin, Francisco Servant, “What helped, and what did not? An Evaluation of the Strategies to Improve Continuous Integration”. Proceedings of the 43rd International Conference on Software Engineering, Technical Research Track (ICSE 2021), Madrid, Spain, May 201, to appear. Acceptance Rate: 22%.
IEEE S&P’21
James C. Davis, Francisco Servant, Dongyoon Lee, “Using Selective Memoization to Defeat Regular Expression Denial of Service (ReDoS)”. Proceedings of the 42nd IEEE Symposium on Security and Privacy, Technical Research Track (S&P 2021), San Francisco, CA, U.S.A., May 2021, to appear. Acceptance Rate: 8%.
ICSE’20
Xianhao Jin, Francisco Servant, “A Cost-efficient Approach to Building in Continuous Integration”. Proceedings of the 42nd International Conference on Software Engineering, Technical Research Track (ICSE 2020), Seoul, South Korea, May 2020, pp. 13–25. Acceptance Rate: 21%.
ASE’19
Louis G. Michael IV, James Donohue, James C. Davis, Dongyoon Lee, Francisco Servant, “Regexes are Hard: Decision-making, Difficulties, and Risks in Programming Regular Expressions”. Proceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering, Technical Research Track (ASE 2019), San Diego, CA, U.S.A., November 2019, pp. 415–426. Acceptance Rate: 23%. ACM SIGSOFT Distinguished Paper Award.
ESEC/FSE’19
Khadijah Al Safwan, Francisco Servant, “Decomposing the Rationale of Code Commits: The Software Developers’ Perspective”. Proceedings of the 27th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Technical Research Track (ESEC/FSE 2019), Tallinn, Estonia, August 2019, pp. 397–408. Acceptance Rate: 24%.
ESEC/FSE’19
James C. Davis, Louis G Michael IV, Christy A. Coghlan, Francisco Servant, and Dongyoon Lee, “Why Aren’t Regular Expressions a Lingua Franca?”. Proceedings of the 27th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Technical Research Track (ESEC/FSE 2019), Tallinn, Estonia, August 2019, pp. 443–454. Acceptance Rate: 24%.
SIGCSE’19
Ayaan M. Kazerouni, Clifford A. Shaffer, Stephen H. Edwards, Francisco Servant. “Assessing Incremental Testing Practices and Their Impact on Project Outcomes”. Proceedings of the 50th ACM Technical Symposium on Computer Science Education, Technical Research Track (SIGCSE 2019), February 27-March 2, 2019, Minneapolis, MN, USA, pp. 407–413. Acceptance Rate: 32%. SIGCSE’19 2nd Best Paper Award.
ESEC/FSE’18
James C. Davis, Christy A. Coghlan, Francisco Servant, and Dongyoon Lee, “The Impact of Regular Expression Denial of Service (ReDoS) in Practice: an Empirical Study at the Ecosystem Scale”. Proceedings of the 26th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE’18), Lake Buena Vista, FL, USA, November 2018, pp. 246–256. Acceptance Rate: 19%. ACM SIGSOFT Distinguished Paper Award.
ICSE’17
Francisco Servant, James A. Jones, “Fuzzy Fine-grained Code-history Analysis”. Proceedings of the 39th International Conference on Software Engineering (ICSE 2017), Buenos Aires, Argentina, May 2017, pp. 746–757. Acceptance Rate: 16%
FSE’12
Francisco Servant, James A. Jones, “History Slicing: Assisting Code-Evolution Tasks”. Proceedings of the 20th International Symposium on Foundations of Software Engineering (FSE 2012), Research Triangle Park, NC, USA, November 2012, pp. 43:1–43:11. Acceptance Rate: 16.9%
ICSE’12
Francisco Servant, James A. Jones, “WhoseFault: Automatic Developer-to-Fault Assignment Through Fault-Localization”. Proceedings of the 34th International Conference on Software Engineering (ICSE 2012), Zurich, Switzerland, June 2012, pp. 36–46. Acceptance Rate: 21%

Workshop and Short Papers

ICSE’21
Artifact
Xianhao Jin, Francisco Servant, “CIBench: A Dataset and Collection of Techniques for Build and Test Selection and Prioritization in Continuous Integration”. Proceedings of the 43rd International Conference on Software Engineering, Research Artifact Track (ICSE 2021), Madrid, Spain, May 2021, 2 pages, to appear.
MSR’19
Mining Challenge
Xianhao Jin, Francisco Servant, “What Edits Are Done on Highly Answered Stack Overflow Questions? An Empirical Study”. Proceedings of the 16th International Conference on Mining Software Repositories, Mining Challenge Track (MSR 2019), Montreal, Canada, May 2019, pp. 225–229.
ICSE’18
Poster
Lykes Claytor, Francisco Servant, “POSTER: Understanding and Leveraging Developer Inexpertise”. Proceedings of the 40th International Conference on Software Engineering (ICSE 2018), Poster Track, Gothenburg, Sweden, May 2018, pp. 404–405.
MSR’18
Mining Challenge
Xianhao Jin, Francisco Servant, “The Hidden Cost of Code Completion: Understanding the Impact of the Recommendation-list Length on its Efficiency”. Proceedings of the 15th International Conference on Mining Software Repositories (MSR 2018), Mining Challenge Track, Gothenburg, Sweden, May 2018, pp. 70–73.
MSR’17
Mining Challenge
Aakash Gautam, Saket Vishwasrao, Francisco Servant, “An Empirical Study of Activity, Popularity, Size, Testing, and Stability in Continuous Integration”. Proceedings of the 14th International Conference on Mining Software Repositories (MSR 2017), Mining Challenge Track, Buenos Aires, Argentina, May 2017, pp. 495–498.
ASE’13
Doctoral Symposium
Francisco Servant, “Supporting Bug Investigation using History Analysis”. Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering, Doctoral Symposium Track (ASE 2013), Silicon Valley, California, November 2013, pp. 754–757.
VISSOFT’13
Tool Demo
Francisco Servant, James A. Jones, “Chronos: Visualizing Slices of Source-Code History”. Proceedings of the 1st IEEE Working Conference on Software Visualization, Tool Track (VISSOFT 2013), Eindhoven, Netherlands, September 2013, pp. 1–4.
ASE’11
Francisco Servant, James A. Jones, “History Slicing”. Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011), Lawrence, Kansas, USA, November 2011, pp. 452–455. Acceptance Rate: 37%
CHASE’10
Francisco Servant, James A. Jones, André van der Hoek, “CASI: Preventing Indirect Conflicts through a Live Visualization”. Proceedings of the Workshop on Cooperative and Human Aspects of Software Engineering (CHASE 2010), Cape Town, South Africa, May 2010, pp. 39–46.

Service

2021

  • Co-chair, International Conference on Software Engineering (ICSE), Demonstrations Track.
  • PC member, International Conference on Automated Software Engineering (ASE).

2020

  • PC member, International Conference on Automated Software Engineering (ASE).
  • PC member, International Conference on Mining Software Repositories (MSR). Distinguished Reviewer Award.
  • Reviewer, IEEE Transactions on Software Engineering journal (TSE)
  • Reviewer, Empirical Software Engineering Journal (EMSE).
  • Reviewer, Journal of Systems and Software (JSS)

2019

  • Reviewer, IEEE Transactions on Software Engineering journal (TSE)
  • Reviewer, Empirical Software Engineering Journal (EMSE).
  • PC member, International Conference on Software Maintenance and Evolution (ICSME), Short papers.
  • PC member, International Working Conference on Source Code Analysis and Manipulation (SCAM), Engineering track.
  • PC member, International Conference on Mining Software Repositories (MSR).
  • PC member, International Conference on Software Engineering (ICSE), NIER track.

2018

  • Reviewer, NSF Panel
  • Reviewer, IEEE Software
  • Reviewer, Journal of Systems and Software (JSS)
  • Reviewer, IEEE Transactions on Software Engineering journal (TSE)
  • Reviewer, Empirical Software Engineering Journal (EMSE).
  • PC member, International Symposium on the Foundations of Software Engineering (FSE), NIER Track
  • PC member, International Conference on Software Maintenance and Evolution (ICSME), Artifacts track
  • PC member, International Conference on Software Maintenance and Evolution (ICSME)
  • PC member, International Conference on Program Comprehension (ICPC), Industry Track
  • PC member, International Conference on Program Comprehension (ICPC), Tool-Demonstration Track

2017

  • Reviewer, IEEE Transactions on Software Engineering journal (TSE)
  • Reviewer, Journal of Systems and Software (JSS)

2016

  • Reviewer, FRQNT Panel
  • Reviewer, IEEE Transactions on Software Engineering journal (TSE)

2015

  • Reviewer, Journal of Internet Services and Applications (JISA)
  • Reviewer, Journal of Systems and Software (JSS)

2014

  • External reviewer, International Symposium on the Foundations of Software Engineering (FSE)
  • External reviewer, International Conference on Software Engineering (ICSE)

2013

  • Reviewer, Central European Journal of Computer Science (CEJCS)
  • External reviewer, International Conference on Software Engineering (ICSE)
  • External reviewer, Working Conference on Software Visualization, Tool Track (VISSOFT)
  • External reviewer, Working Conference on Software Visualization, NIER Track (VISSOFT)

2012

  • PC member, International Conference on Program Comprehension (ICPC), Tool-Demonstration Track
  • PC member, International Working Conference on Mining Software Repositories (MSR), Mining Challenge Track
  • External reviewer, International Conference on Software Engineering (ICSE)