
Associate Professor, Department of Computer Science, School of Computing,
National University of Singapore (NUS)
Mailing address: Computing 1, #03-68 Law Link, Singapore 117590
My office: S15, 06-08, 3 Science Drive 2, NUS
Tel: (65) 6516 2863, fax (65) 6779-1610, m (65) 96255-863
email: stan 'at' comp 'point' nus 'point' edu 'point' sg
Research (recent publications):
Recently published book describes results of my research on reuse, maintenance and XVCL approach:
Jarzabek, S. Effective Software Maintenance and Evolution: Reused-based Approach, Auerbach, CRC Press Taylor and Francis, May 2007 http://www.crcpress.com/shopping_cart/products/product_detail.asp?sku=AU3592
I am interested in all aspects of software engineering, but especially in design of high-variability software, i.e., software that can be easily evolved and reused. Genericity is a key to high-variability, but conventional methods – OO and component-based – are weak in generic design. I work on providing empirical and analytical evidence for the above claim, and apply a generative technique of XVCL to alleviate the problem. Our approach is practical as it complements, rather than competes with conventional programming methods - we call it mixed-strategy to emphasize this synergistic nature of the approach. Mixed-strategy has been already successfully applied in industrial projects. XVCL is an open source, public domain software (http://xvcl.comp.nus.edu.sg).
Collaboration: An essential part of my research is experimentation and industry collaborations. I have a long-term and fruitful research partnership with ST Electronics (Info-Software Systems) Pte. Ltd. (formerly known as SES Systems Pte. Ltd.).
Research Projects: Our recent projects focus on Web Application engineering for ease of maintainability and for reuse. In those projects, we study the nature of similarity patterns in Web domains and then apply XVCL on top of model-based design, PHP, ASP, JSP, J2EE or .NET to achieve higher degrees of changeability and genericity than it is possible with conventional techniques alone. Another project is on semi-automatic detecting similarity patterns in programs for which we apply string pattern matching, token-based and data mining techniques (see CM/CA technology summary) . Practical applications of methods for detecting software similarities include program analysis for understanding during maintenance, and re-engineering of legacy software into reusable or maintainable representations.
Other research areas I am interested in are software evolution, reverse engineering, design of static program analysis and other software tools, and compiler-compilers (attribute grammars).
Recent publications describing our projects:
1.
Basit, H.,
Puglisi, S., Smyth, W., Turpin, A. and Jarzabek, S. “Efficient Token Based
Clone Detection with Flexible Tokenization,” ESEC-FSE'07, European
Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of
Software Engineering, ACM Press, September 2007, Dubrovnik, pp. 513-516
2.
Grudzien,
A., Traczyk, T. and Jarzabek, S. „Application
of Generative Programming to Evolution of Object-Relational Mapping Layer,” Proc. 2nd AIS SIGSAND European
Symposium on System Analysis and Design, Gdansk, June 5, 2007, pp. 64-71,
ISBN 978-83-7326-447-2
3.
Rajapakse, D.C. and Jarzabek, S. “Using
Server Pages to Unify Clones in Web Applications: A Trade-off Analysis,” Int. Conf. Software Engineering, ICSE’07, Minneapolis,
USA, May 2007, pp. 116-125
4. Jarzabek, S. and Li, S. ”Unifying clones with a generative programming technique: a case study,” Journal of Software Maintenance and Evolution: Research and Practice, John Wiley & Sons, Volume 18, Issue 4, July/August 2006, pp. 267-292, extended version of ESEC-FSE’03 paper that received ACM Distinguished Paper Award
5.
Jarzabek,
S. “Genericity
- a “Missing in Action” Key to Software
Simplification and Reuse,” accepted for 13th
6. Basit, H.A., Rajapakse, D.C., and Jarzabek, S. “Beyond Templates: a Study of Clones in the STL and Some General Implications,” Int. Conf. Software Engineering, ICSE’05, St. Louis, USA, May 2005, pp. 451-459
7.
Basit,
A.H. and Jarzabek, S. “Detecting Higher-level
Similarity Patterns in Programs,” ESEC-FSE'05, European
Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of
Software Engineering, ACM Press, September 2005, Lisbon, pp. 156-165
8.
Pettersson,
U., and Jarzabek, S. “Industrial Experience
with Building a Web Portal Product Line using a
Lightweight, Reactive Approach,” ESEC-FSE'05, European
Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of
Software Engineering, ACM Press, September 2005, Lisbon, pp. 326-335
9.
Zhang, W.
and Jarzabek, S. “Reuse
without Compromising Performance: Experience from RPG Software Product Line for
Mobile Devices,” 9th Int. Software Product Line
Conference, SPLC’05, September 2005, Rennes, France, pp. 57-69
10. Yang, J. and Jarzabek, S. “Applying a
Generative Technique for Enhanced Reuse on J2EE Platform,” 4th Int. Conf. on Generative
Programming and Component Engineering, GPCE'05,
Sep 29 - Oct 1, 2005, Tallinn, Estonia, pp. 237-255
11. Rajapakse,
D.C and Jarzabek, S. “A
Need-Oriented Assessment of Technological Trends in Web Engineering,” Int. Conf. on Web Engineering, ICWE’05,
July 2005, Sydney, pp. 30-35
12. Rajapakse,
D.C and Jarzabek, S. “An
Investigation of Cloning in Web Portals,” Int. Conf. on Web Engineering, ICWE’05, July 2005, Sydney, pp.
252-262 (also poster at WWW’05)
13. Rajapakse,
D.C, Basit, A.H. and Jarzabek, S. “ An
Empirical Study on Limits of Clone Unification Using Generics ” 17th Int. Conference on Software Engineering and Knowledge
Engineering, SEKE'05, July 2005, Taipei, Taiwan, pp. 109-114
14. Jarzabek, S. and Eng, P.K. “Teaching an Advanced Design, Team-oriented Software Project Course”, 18th Int. Conference on Software Engineering Education and Training (CSEE&T), IEEE CS, April 2005, Ottawa, pp. 223-230
15.
Jarzabek, S, Yang, B. and Sam, S. “Addressing Quality
Attributes in
16. Jarzabek,
S., Zhang, H., Ru, S., Lam, V.T., and Sun, Z. “Analysis of meta-programs: a
case study,” Journal of Software Engineering and Knowledge Engineering,
Vol. 16, No. 1, Feb. 2006, pp. 77-101, extended
version of best papers from Proc. 16th Int. Conference on Software
Engineering and Knowledge Engineering (SEKE'04), Banff, Canada, June 2004
17. Zhang,
H. and Jarzabek, S. “A Bayesian Network Approach to rational architectural
design,” Int. Journal of Software
Engineering and Knowledge Engineering, Vol. 15, No. 4, August 2005, pp.
695-719
Teaching:
Software engineering education is under a lively debate. I am interested in development of software engineering curricula, in particular in software engineering project courses. I believe the role of a university is to teach students fundamental concepts, not over-emphasizing specific technologies that change so fast. Understanding fundamentals creates a reference point and shapes judgment that will help graduates adapt to changes through their careers. It follows that the role of project courses is to teach how to apply proven principles in large-scale team-based software development. Our CS3215 Software Engineering Project course is described in the CSEE&T paper [12].
I also teach graduate course on application of product line approach to CS6201 Software Reuse.
Before
joining the NUS:
I was a Research Manager of the CSA Research Pte. Ltd. and an Adjunct Senior Lecturer at the NUS (1990-92), Assistant Professor at McMaster University, Canada (1984-1990), a Lecturer at the University of Maiduguri, Nigeria (1982-84) and Research Fellow at the Institute of Computers, Warsaw (1972-82).
Last updated: 17 March, 2008