Department of Electrical and Computer Engineering

Luiz Fernando Capretz, Ph.D., P.Eng.

Associate Professor
lcapretz@eng.uwo.ca     519-661-2111 x85482     TEB 345

Research Team

Graduated Students - Take your Ph.D. degree for free: If you have average (GPA) above 80% and are Canadian or Permanent Resident you are eligible for full tuition scholarship - "The No-Fee Degree".

Current Research Projects

Software Estimation

Accurate software estimation is important for effective project management such as budgeting, project planning and control. So far, no model has proved to be successful at effectively and consistently predicting software development effort. A novel neuro-fuzzy framework that combines soft computing with an algorithmic model was developed for software estimation. By dealing effectively with imprecise and uncertain inputs, the model enhances the accuracy of software estimates. In addition, it allows inputs to have continuous rating values and linguistic values. This new model carries some of the desirable features of the neuro-fuzzy paradigm such as learning ability and good interpretability, while maintaining the merits of the well-know software estimation model, such as COCOMO, Function Points, and SEER/SEEM. Validation using industry project data shows that the neuro-fuzzy software estimation approach greatly improves estimation accuracy in comparison with the well-known algorithmic models. And this encourages us to pursue the application of our novel and patented neuro-fuzzy framework to different fields and other types of predictions in Economics (like stock price prediction) and Medicine, for instance, in predicting cancer growth, compliance to drugs, evolution of chronic diseases (diabetes and hypertension), and other determinants of health. Our framework has been generalized and a patent (US-7328202-B2) was granted.

Human Aspects of Software Engineering

Software engineering is forecast to be among the fastest growing employment field in ensuing decades. This investigation correlates the personality profile of software engineers, according to the Myers Briggs Type Indicator (MBTI), to the main stages of a software life cycle. This research tries to match the MBTI dimensions (extraversion-introversion, sensing-intuition, thinking-feeling, judging-perceiving) with some skills believed to be relevant in each phase of a software life cycle model, such as concern for user requirements, ability to innovate, attention to details, compliance with deadlines, and so on. The result of this work may help software professionals find a niche in activities involving software development and maintenance, so that their job satisfaction is increased.

e-Learning Technologies

Nowadays information technology became pervasive, but instructors still have to tap the full potential of modern technology into their teaching methods and adapt to modern software tools that facilitate teaching and learning. There is a broad spectrum of software tools that could be incorporated into e-education and I am beginning to exploit research avenues in this field. My interest is to incorporate the latest technologies in support of education, research and academic needs. The focus of my research is to investigate the essential technology  that could easily be integrated to face-to-face, hybrid, or on-line courses. I plan to experiment with pilot projects within a defined timeframe through capstone projects, M.Eng. projects, M.E.Sc. and Ph.D. thesis.

Software Engineering Education

Researchers have tried for a long time to relate personality types to teaching and learning styles. It is believed that the Jung's psychological type theory can help faculty accept variety in teaching and learning approaches.  These personalities traits can create harmony or discord for individual students, depending on whether the student’s approach to learning matches the teacher’s approach to teaching. Although there are some teaching strategies useful to a whole class, the differences among students make it necessary to diversify those teaching strategies. I expanded this line of research and gave it a multi-cultural aspect of software engineering education by considering data gathered with software engineers in Brazil, Canada, Saudi Arabia, Cuba, Pakistan, and the United Arab Emirates.

Software Process for Product Lines

Software Product Lines (SPL) and Component-Based Software Engineering (CBSE) have become increasingly important in the software industry, with some observers predicting that in the near future many software systems will be produced out of reusable components within a product line for software. Advantages of SPL for the software industry include: (a) application to specific application domains; (b) fast development, with less effort; (c) increasing return on investment to produce reusable components; (d) reduced time to deliver and market a product; and (e) streamline software production. Software producers applying component-based software development not only benefit from reduced development time and costs through the systematic reuse of in-house and off-the-shelf components, but also have a powerful technique for handling complexity, and at the same time improving product quality.