I am currently a postdoctoral research fellow at the University of British Columiba (Canada), supervised by professor Reid Holmes. My broad research objective is to develop tools and techniques that help software developers and researchers to better understand why some code goes through changes and some do not. I have completed my PhD in Computing Science from the University of Alberta, Canada. My research focused on software energy efficiency (models, tools, and guidelines). My research was supervised by Professor Abram Hindle. I have completed my MSc. in Computer Science from the University of Saskatchewan, Canada where I was a member of the DISCUS Lab under the supervision of Professor Dwight Makaroff. I received my B.Sc (Hons) in Computer Science & Engineering from University of Chittagong, Bangladesh.

Email: shaifulc at cs dot ubc dot ca


  • PhD, Computing Science, University of Alberta, Canada (2014, Sept- 2019, Aug).

  • MSc., Computer Science, University of Saskatchewan (2011 - 2013), Canada.

  • BSc., Computer Science & Engineering, University of Chittagong (2003 - 2009), Bangladesh.

  • Research Interests:

    Code History

    Can we accurately construct source code history? If yes, what can we do with it? Will it help developers to better understand how to write stable code? How would it help the software research community? Frankly, we can do a lot on this topic.

    Software Energy Models

    Measuring Software energy requires expensive tools and expertise---a far cry for most individual developers. My research focuses on developing machine learning based software energy consumption models, that can estimate energy consumption without any hardware instrumentation. Please check our EMSE and MSR papers (GreenScaler and GreenOracle).

    Software Energy Efficiency

    While an energy model can help in estimating software energy consumption, developers need guidelines on writing and deploying energy efficient systems. Please check our SANER 2016 paper where we compare the energy efficiency of HTTP/2 and HTTP/1.1 for mobile clients. Also, our EMSE logging paper shows the cost of software logging and some potential energy efficient logging techniques. We are currently working on examples of energy efficient coding (e.g., bundling events).

    Mining Software Repositories

    MSR is an approach to help software developers by mining and extracting knowledge from existing enormous amount of information (code repositories from GitHub for example). I particularly enjoy this field because of its inherent relation with machine learning and data mining. Please check our MSR challenge paper where we show how we can use StackOverflow questions/answers, and YouTube video comments for building classifiers that can identify if a discussion is about programming or not-programming.


    I was actively involved with the Royal Bengal Cricket Club, Edmonton, Alberta, Canada. I am a right-arm fast bowler, and bat in the middle order. I am also one of the founding Executives of this club. Please follow our facebook page: Royal Bengal Cricket Club.

    I have also served as the elected president of the Bangladeshi Students' Association at the University of Alberta (BSAUA). You can watch the drama I directed, which was exhibited during BSAUA's annual cultural program (link). That was interesting and exciting because the drama was performed in Bengali by Non-Bengali speakers.