Responsible Software Engineering for Smart Communities

I work at the intersection of Software Engineering (SE) and Machine Learning (ML), to understand how these two domains can benefit from each other by taking into context the human and socio-technical aspects of smart community needs.

  • ML/AI for Software and Cyber Security
    • Security (e.g., vulnerability) and privacy analysis in software systems (IoT, mobile).
    • Trustworthiness analysis of online communities and contents.
  • Responsible AI Engineering for Machine Learning Software
    • Human-centered AI engineering
    • Secure and robust AI software development & deployment practices
    • Operationalization of reproducible AI software
    • Verification of explainable and justifiable decisions in AI software
    • Fairness/bias testing of domain-specific AI software
  • Actionable Software Analytics
    • Summarization of crowd-sourced software review and insights.
    • Automatic detection of formal and informal software documentation quality.
    • Automatic creation of better quality software documentation.

An Example Research on Actionable Software Analytics

In my PhD, I leveraged Natural Language Processing and Machine Learning techniques on the vast amount data available in online software repositories. I created Opiner, an opinion search and summarization engine for APIs (Application Programming Interfaces) by automatically crawling online developer forum where usage of APIs is discussed by software developers. APIs are interfaces to reusable software components. Opiner website is available online [Please feel free to check out the website and share your opinions].

Research Funding

  • NSERC (Discovery, Alliance, EIDM)
  • Alberta Innovates
  • University of Calgary Startup Fund
  • Industrial Partnerships