Avatar

Dr. Shamsa Abid

Assistant Professor

NUCES-FAST

Biography

I am currently an Assistant Professor at the National University of Computer and Emerging Sciences, FAST, Chiniot-Faisalabad Campus in Pakistan. I work on research broadly related to AI for Software Engineering. My current research interests are evaluating “code generation quality of LLMs”, using “LLMs for requirements validation”, and “Interpretability of AI Models”. This research builds on my recent Post-Doctoral experience as a Research Scientist at the Research for Intelligent Software Engineering (RISE) laboratory at Singapore Management University (SMU), ranked second globally for software engineering research. My work at SMU involved evaluating human-model alignment for deep-learning-based AI systems, with a particular focus on causal explainability. As part of the Science of Certified AI systems project, funded by the Ministry of Education, I worked with my supervisor Prof. Lingxiao Jiang, to develop methodologies to evaluate the trustworthiness of AI models for code-relevant tasks.

I obtained my PhD degree in Computer Science from the Lahore University of Management Sciences (LUMS), Pakistan in 2021. My Ph.D. was supervised by Prof. Dr. Shafay Shamail and my PhD committee members included Dr. Hamid Abdul Basit, Dr. Basit Shafique, and Dr. Naveed Arshad. My Ph.D. thesis is titled “Feature-driven API usage-based Code Example Recommendation for Opportunistic Reuse”.

I’m a detail-oriented academic aiming to excel in everything I do. I’m deeply invested in making meaningful contributions to my field and approach every opportunity with curiosity, a drive to learn, and a dedication to helping others grow.

I excel in environments where creativity, critical thinking, and collaboration intersect, and my work is grounded in balance, empathy, and a deep desire to make a positive impact.

My biggest flex? My excellent English communication skills, which allow me to ask compelling, thought-provoking questions. These questions have not only sparked meaningful conversations but also opened doors to countless opportunities and earned me valuable visibility.

Interests

  • Generative AI for Code Reuse - Safety and Performance
  • Code Models Trustworthiness Evaluation
  • Semantic Code Clones Benchmarking
  • Explainable AI (XAI)
  • Code Recommendation and Reuse
  • Mining Software Repositories
  • Empirical Studies
  • Design Patterns
  • Algorithms

Education

  • Ph.D. in Computer Science, 2021

    Lahore University of Management Sciences

  • MS in Computer Science, 2013

    Lahore University of Management Sciences

  • BS in Computer Science, 2004

    Lahore College for Women University

Publications

Measuring model alignment for code clone detection using causal interpretation

Deep Neural Network-based models have demonstrated high accuracy for semantic code clone detection. However, the lack of generalization …

Interpreting CodeBERT for Semantic Code Clone Detection

Accurate detection of semantic code clones has many applications in software engineering but is challenging because of lexical, …

CodeBERT for Code Clone Detection: A Replication Study

Large pre-trained models have dramatically improved the state-of-the-art on a variety of natural language processing (NLP) tasks. …

Context-aware code recommendation in Intellij IDEA

Developers spend a lot of time online, searching for code to help them implement their desired features. While code recommenders help …

A Comparative Analysis of Clone Detection Techniques on SemanticCloneBench

Semantic code clone detection involves the detection of functionally similar code fragments which may otherwise be lexically, …

FACER-AS: An API Usage-based Code Recommendation Tool for Android Studio

Android developers often need to search for example code to complete their development tasks. While existing code search systems for …

Teaching

Software Re-Engineering

This course explores the principles, processes, and practices involved in maintaining and evolving legacy software systems. It covers the unique challenges of legacy systems and introduces foundational and modern approaches to software reengineering. Key topics include software maintenance strategies, reverse engineering, system migration, refactoring, and restructuring. The course also examines the role of design patterns in improving code quality. Students will gain a deep understanding of software reengineering processes, including the adaptation of Commercial Off-The-Shelf (COTS) components and maintaining COTS-based systems. Emphasis is placed on preserving system integrity while enhancing functionality and adapting to new requirements. Through hands-on exercises and case studies, students will learn to apply reengineering concepts to transform aging systems into maintainable and efficient solutions.

Design and Analysis of Algorithms

This course introduces techniques for the design and analysis of efficient algorithms for solving problems that occur frequently in computer applications. Course objectives: Explain what is meant by best expected and worst-case behavior of an algorithm; Determine informally the time and space complexity of simple algorithms; List and contrast standard complexity classes; Use big O, Omega, Theta notation formally to give asymptotic upper bounds on time and space complexity of algorithms; Use of the design strategies brute force, greedy, divide and conquer, and dynamic programming to solve an appropriate problem; Apply important algorithmic design paradigms and methods of analysis; Solve problems using graph algorithms including single source and all pairs shortest paths and minimum spanning tree algorithms (Dijkstra, Bellman Ford, Floyd Warshall); Solve string-matching problems (Knuth-Morris-Pratt, Rabin-Karp); Solve maximum subarray problem (divide and conquer, Kadanes); Solve Knapsack problem using Dynamic Programming

Software Requirements Engineering

This course aims at familiarizing students with the complete requirements engineering process from stakeholder identification and elicitation processes to requirements analysis, specification, modeling, validation, management, traceability, negotiation, and prioritization phases.

Data Structures

This course aims at familiarizing students with stacks, queue, linked lists, recursion, binary search trees, AVL trees, heaps, heapsort, graphs, adjacency matrix and adjacency list implementations of graphs, spanning trees, breadth-first and depth-first traversal, single source shortest path finding, hashing, open addressing and chaining, and trees. Complexity analysis in Big O notation is also covered.

Web Programming

The course is focused on the fundamental concepts of web architecture and programming. The course is aimed towards beginners who have basic knowledge of programming but do not have any prior experience in web development. They will be taught basics of client and server side programming and later introduced to modern practices of developing websites using the MEAN stack (MongoDB, Express, Angular, Node) and also AngularJS and AJAX. Check the course website.

Software Quality Assurance

This course covers two major areas of software engineering: Software Quality (SQ) and Software Testing. The course aims to teach software quality principles to computer science students. In addition to software quality models like CMMI, ISO and Six Sigma, the course focuses on variety of software testing techniques and strategies like functional testing, structural testing, black box and white box testing. The course also discusses different levels of testing: unit testing, integration testing, and system testing. Other objectives of the course include understanding the software quality assurance process, designing test cases, developing test plans and Quality Assurance Plans, using software quality metrics, defect metrics, performing test-driven development and automated testing using tools like JUnit, Selenium and Loadrunner.

Creating Digital Content

The objective of this course is to help students learn creating digital content ranging from professional-level documents and presentations to creating their web presence in the form of blogs and their personal websites. Topics Included: Microsoft Office Word, Microsoft PowerPoint, WordPress Framework for Blogging, Website Development Concepts, Web Page Authoring Tools. On successful completion of this course, the students will have sufficient experience to create professional-level documents and presentations which will help them in their final projects and other courses. They will also become proficient in building a medium level website and will be able to create their effective web presence through their personal blogs.

Certificates

Machine Learning Foundations: A Case Study Approach

See certificate

Runner Up Poster

Dean’s Honor List

Outstanding Teaching Assistant

iOS Development Workshop Particpation

Intelligent Computing Course Audit

UBUNTU-Linux User

1st National Free and Open Source Software Awareness Campaign Training by FOSSFP: Free and Open Source Foundation Pakistan (FOSS Academy)

Internet and Multimedia Professional

Training and examination administered by BrainNet.