Responsible Software Engineering for Smart Communities

Rapid technological evolution is turning cities into smart connected online communities, whose interaction and decision making are often influenced by smart intelligent software. As such, it is important that such software systems are designed and engineered securely and properly so that they offer trustworthy analytics. Our research work often lies at the intersection of software engineering (SE), machine/deep learning (ML/DL), natural language processing (NLP), and human computer interaction (HCI).

  • 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
    • 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].