Navigation


Current Research

Post-doctoral Research: from Feb/2009 to Today

After completing my PhD in Waterloo in January 2009, I've been leading a very exciting project called S.P.L.O.T. (Software Product Lines Online Tools). S.P.L.O.T. is the result of cutting-edge research on efficient algorithms for reasoning on and configuring Software Product Lines. Among the techniques applied are Binary Decision Diagrams (BDDs) and Satisfiability (SAT) solvers.

Since its launch in May 2009, S.P.L.O.T. has been visited by researchers from 33 different countries many of which return in a regular basis. S.P.L.O.T.'s ready-to-use online feature model editor integrated with configuration and analysis tools has appealed to software product line practitioners strongly. Furthermore, the feature model repository has facilitated model sharing among researchers and thus contributed to advancing research in the field.

Why don't you give it a try?

S.P.L.O.T. will help you to configure your next Trek Bike or DELL Laptop

For more details please visit http://www.splot-research.org

PhD Research

PhD Studies: from Sept/2003 to Jan/2009

PhD Advisors: Prof. Donald Cowan and Prof. Krzysztof Czarnecki

Research Labs: I was part of the Computer Systems Group and the Generative Software Development Lab

PhD Thesis: Efficient Reasoning Techniques for Large Scale Feature Models

Summary of PhD Research Topic:

In Software Product Lines (SPLs), a feature model can be used to represent the similarities and differences within a family of software systems. This allows describing the systems derived from the product line as a unique combination of the features in the model. What makes feature models particularly appealing is the fact that the constraints in the model prevent incompatible features from being part of the same product.

Despite the benefits of feature models, constructing and maintaining these models is time-consuming and error-prone especially in product lines with a large number of features and constraints. As a result, the study of automated techniques to reason on feature models has become an important research topic in the SPL community in the recent years. Two techniques, in particular, have significant appeal for researchers: SAT solvers and Binary Decision Diagrams (BDDs). Both techniques have been applied successfully for over four decades now to tackle many practical combinatorial problems in various domains. Currently, several approaches have proposed the compilation of feature models to specific logic representations to enable the use of SAT solvers and BDDs.

In my PhD research, I argued that several critical issues related to the use of SAT solvers and BDDs had been consistently neglected. For instance, satisfiability is a well-known NP-complete problem which means that, in theory, a SAT solver might be unable to check the satisfiability of a feature model in feasible time. Similarly, it is widely know that the size of BDDs can become intractable for large models. At the same time, we did not know precisely whether these were real issues when feature models, especially large ones, were compiled to SAT and BDD representations.

Therefore, my research provided a significant step forward in the state-of-the-art by examining deeply many relevant properties of the feature modeling domain and the mechanics of SAT solvers and BDDs and the sensitive issues related to these techniques when applied in that domain. Specifically, it provided more accurate explanations for the space and/or time (in)tractability of these techniques in the feature modeling domain, and enhanced the algorithmic performance of these techniques for reasoning on feature models. The contributions of my work included the proposal of novel heuristics to reduce the size of BDDs compiled from feature models, several insights on the construction of efficient domain-specific reasoning algorithms for feature models, and the discussion of empirical studies to evaluate the efficiency of SAT solvers in handling very large feature models.

Publications

As of Dec 2009

Some of the publications also appear on the DBLP and ACM websites

Refereed

  1. A. Hubaux, A. Classen, M. Mendonca, P. Heymans: A Preliminary Review on the Application of Feature Diagrams in Practice. In Proceedings of the Fourth International Workshop on Variability Modelling of Software-intensive Systems (VaMoS'10), Linz, Austria, January 27-29, University of Duisburg-Essen, 2010.
  2. C. Gauthier, A. Classen, Q. Boucher, P. Heymans, M. Storey, M. Mendonca: XToF: A Tool for Tag-based Product Line Implementation. In Proceedings of the Fourth International Workshop on Variability Modelling of Software-intensive Systems (VaMoS'10), Linz, Austria, January 27-29, University of Duisburg-Essen, 2010.
  3. M. Mendonca, D. D. Cowan: Decision-Making Coordination and Efficient Reasoning Techniques for Feature-Based Configuration, Science of Computer Programming Journal, Elsevier, 2009, doi:10.1016/j.scico.2009.12.004.
  4. M. Mendonca, M. Branco, D. D. Cowan: S.P.L.O.T. – Software Product Lines Online Tools, Companion to the 24th ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2009, October 2009, Orlando, Florida, USA.
  5. M. Mendonca, A. Wasowski, K. Czarnecki: SAT-based Analysis of Feature Models is Easy. In Proceedings of the 13th International Software Product Line Conference (SPLC’09). Aug 2009, San Francisco, California, USA.
  6. M. Mendonca, A. Wasowski, K. Czarnecki, D.D Cowan: Efficient Compilation Techniques for Large Scale Feature Models. In Proceedings of the 7th ACM International Conference on Generative Programming and Component Engineering (GPCE'08). Oct 2008, Nashville, Tennessee, USA.
  7. M. Mendonca, T.T. Bartolomei, D.D Cowan: Decision-Making Coordination in Collaborative Product Configuration, In Proceedings of the 2008 ACM Symposium on Applied Computing, Special track on Coordination Models, Languages and Applications, (Fortaleza, Brazil, March 16 - 20, 2008). SAC '08. ACM, New York, NY.
  8. M. Mendonca, T. Oliveira, D.D. Cowan: Collaborative Product Configuration in Software Product Lines – Formalization and Dependency Analysis, Journal of Software, ISSN 1796-217X, vol. 3, issue 2, pp. 69-82, February 2008.
  9. M. Mendonca, T. Oliveira, D.D. Cowan: A Process-Centric Approach for Coordinating Product Configuration Decisions, 40th Hawaii International Conference on Systems Science, HICSS-40 2007, Software Technology track, IEEE Computer Society, January 2007, Waikoloa, Hawaii, USA.
  10. M. Mendonca, K. Czarnecki, T. Oliveira, D.D. Cowan: Towards a Framework for Collaborative and Coordinated Product Configuration, Companion to the 21th ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2006, Doctoral Symposium, October 2006, Portland, Oregon, USA.
  11. L. Penczek, T. Oliveira, M. Mendonca: Systemizing Aspect-Oriented Framework Reuse with AFR, Companion to the 21th ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2006, October 2006, Portland, Oregon, USA.
  12. M. Mendonca T. Oliveira, D.D Cowan: Collaborative and Coordinated Product Configuration, International Software Product Line Conference, SPLC 2006, Doctoral Symposium, August 2006, Baltimore, Maryland, USA.
  13. T. Oliveira, M. Mendonca: Using RDL to Facilitate the Customization of Variability Points, Proceedings of the IEEE International Conference on Software Engineering Advances, ICSEA 2006, October 2006, Tahiti, French Polynesia.
  14. M. Mendonca, P. Alencar, T. Oliveira, D.D. Cowan: Model-Driven Framework Instantiation, Graduate Student Research Conference, GSRC 2006, April 2006, University of Waterloo, Waterloo, Canada.
  15. M. Mendonca, P. Alencar, T. Oliveira, D.D. Cowan: Assisting Aspect-Oriented Framework Instantiation: Towards Modeling, Transformation and Tool Support, Companion to the 20th ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2005, October 2005, San Diego, California, USA.
  16. A. Adachi, M. Mendonca, J.N. Souza: The Push Model in Web-Based Network Management, Proceedings of the IEEE International Conference on Telecommunications (ICT' 2000), Acapulco, Mexico, 2000.
PhD Thesis
  1. M. Mendonca: Efficient Reasoning Techniques for Large Scale Feature Models, PhD Thesis, University of Waterloo, January 2009, Waterloo, Ontario, Canada. Supervisors: Donald Cowan and Krzysztof Czarnecki
Technical Reports
  1. M. Mendonca, D.D. Cowan: Support for Collaborative Feature-Based Product Configuration in Software Product Lines, Technical Report CS-2007-030, School of Computer Science, University of Waterloo, August 2007, Waterloo, Ontario, Canada
  2. M. Mendonca, T. Oliveira, D.D. Cowan: Collaborative and Coordinated Product Configuration, Technical Report CS-2006-015, School of Computer Science, University of Waterloo, May 2006, Waterloo, Ontario, Canada
  3. M. Mendonca, T. Oliveira, P. Alencar, D.D. Cowan: Assisting Framework Instantiation: Enhancements to Process-Language-based Approaches, Technical Report CS-2005-025, School of Computer Science, University of Waterloo, September 2005, Waterloo, Ontario, Canada
Masters Dissertation
  1. M. Mendonca: The Inclusion of Design Patterns in a Visual CASE Tool for Object-Oriented Software Construction, Masters dissertation - Pontifical Catholic University of Rio de Janeiro (PUC-Rio), February 1996, Rio de Janeiro, Rio de Janeiro, Brazil. Supervisor: Sergio Eduardo Rodrigues de Carvalho (in memoriam)
Undergraduate Publications
  1. M. Mendonca: Animator - An Application for Meteorological Images Animation, III Encontro de Iniciação à Docência, 1993, Federal University of Ceara, Fortaleza, Ceara, Brazil.
  2. M. Mendonca: A Backtracking Algorithm for Chasing Moveable Objects, II Encontro de Iniciação à Docência, 1992, Federal University of Brazil, Fortaleza, Ceara, Brazil.

Canadian Awards

  • Doctoral Thesis Completion Award, Waterloo, Canada, May 2008, Graduate Studies Office, University of Waterloo. For students about to complete the PhD program with significant research accomplishments
  • David R. Cheriton Scholarship, Canada, May 2007 – May-2008 School of Computer Science, University of Waterloo. Reserved for the School’s very top graduate students (more details)