- Academic Programs
- Our Department
- Student Life
- Alumni & Industry
Ali Mesbah received the PhD degree cum laude in Computer Science from Delft University of Technology in 2009. He was a software engineer at WEST consulting (2001-2005) and a researcher at the Dutch National Institute for Research in Mathematics and Computer Science (2005-2006).
After a post-doctoral period with the Software Engineering Research Group in Delft, he joined the department of Electrical and Computer Engineering at UBC as an assistant professor in 2011.
Dr. Mesbah’s main area of research is software engineering, with an emphasis on software testing and dynamic analysis of modern web- based systems. He is the recipient of an ACM SIGSOFT Distinguished Paper Award at the ACM/IEEE International Conference on Software Engineering (ICSE 2009).
Electrical Engineering Seminar and Special Problems - NONLNR SYS&CTRL
Verification of Software-Intensive Systems
Different levels of testing including unit, integration, system, performance and regression levels. Requirements flowdown. Problem tracking. Coverage criteria. Static methods. Tools support. Specialized techniques. Assessment of correctness, reliability, safety. Prerequisites EECE 415 - Requirements Engineering for Software-Intensive Systems
Methods of Empirical Software Engineering Research
Course Objective Software engineering is a cross-disciplinary subject that is mainly governed by human behavior and through the people developing software. It spans from programming language issues, through technical issues in software development, to social issues and psychology.
Engineering practices for the development of non-trivial software-intensive systems including specification, software design, implementation, verification and validation. Iterative development. Recognized standards, guidelines and models.
Software Testing and Maintenance
Course Objective By the end of this course, it is expected that the students will be able to: Understand software evolution and the need for software maintenance and testing Appreciate the value of and challenges involved in software testing and maintenance Show a solid background knowledge of the state of the art in the area Distinguish open problems in software testing and maintenance Course Outline
Software Testing and Analysis
Different levels of testing including unit, integration, system, performance and regression levels. Requirements flowdown. Problem tracking. Coverage criteria. Static methods. Tools support. Specialized techniques. Assessment of correctness, reliability, safety. [3-2-0] Prerequisite
Advanced Topics in Software Engineering
1. Learning Objectives By the end of this course, it is expected that the students will be able to: Gain advanced theoretical knowledge and technical competences about the topics covered in the. Apply research methods that are relevant for advanced topics in software engineering. Select a sensible set of tools and techniques to start a software project that involves a group of people. Take advantage of this knowledge in complex software systems design, realization and evaluation.
Crawl-based analysis of web applications: Prospects and challenges
Journal Article | Science of Computer Programming
Real challenges in mobile app development
Conference Paper | Empirical Software Engineering and Measurement, 2013 ACM/IEEE International Symposium on