Stan Jarzabek consultancy on software design and plagiarism

Text Box: LINKS
Home         
CV
Consultancy
XVCL Web site
XVCL summary
CM/CA summary
Conferences where I publish,  serve on PC or help organize: GPCE, SCAM, ESEC-FSE, ICSE, WWW, ICSR, ICSM, SPLC, IWSC, APSEC, ASWEC, ISEC, EASE, WSE, SEKE, ICWE, EVOL, CSEE&T
Academic Courses:
CS3215 Software Engineering Project
CS6201 Software Reuse
Software Engineering Lab

 

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, especially in design of high-variability software, i.e., software that can be easily evolved and reused. Component-based and architecture-centric techniques are the basic means to achieve reuse via Software Product Line (SPL) approaches. Higher levels of reuse can be achieved by applying XVCL , a generative technique to manage variability in software, i.e. to handle variant features in families of similar systems (Product Lines), and change propagation. In addition, XVCL provides unrestricted parameterization that allows us to represent any group of similar program structures (components) in generic, adaptable form. This helps avoid explosion of similar component versions that need be managed during reuse, simplifies component selection and adaption for reuse. XVCL 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).

Consultancy: software design, expert witness in disputes about potential plagiarism of design and code.

Expert consultant on software design: Evaluation and second opinion on  software design of a system under development, or existing system; propose and evaluate alternative designs; finding potential faults.

Expert witness in software plagiarism:  Cases of dispute about potential plagiarism in  court cases involving  design plagiarism, code plagiarism, IP. Providing opinion regarding the reasons for project failures.

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: In our recent projects, we apply XVCL for reuse in games for mobile phones, Customer Relation management Systems and other business domains, and Web applications (Product Lines). We integrate XVCL into other technologies (e.g., PHP,.NET, JEE) to achieve higher degrees of changeability and genericity, for better reuse  via Product Line approach.

Re-engineering for reuse, into software Product Lines is another direction for our work, complementing research on effective reuse strategies. Reuse usually starts once we have already implemented a couple of systems. Finding the exact similarities and differences in systems, so-called software clones, is the core activity in re-engineering for reuse. We developed Clone Miner and Clone Analyzer, CM/CA, for finding fine-grained and course-grained, structural similarities in software systems to facilitate re-engineering for reuse.

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. A., Jarzabek, S. “Data Mining Approach for Detecting Higher-level Clones in Software,” to appear in IEEE Trans. on Soft. Eng.

2.       Yali Zhang, Hamid Abdul Basit, Stan Jarzabek, Dang Anh, and Melvin Low “Query-based Filtering and Graphical View Generation for Clone Analysis,” Proc. 24th IEEE Int. Conf. on Software Maintenance, ICSM’08, Beijing, September 2008, pp. 376-385

3.       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

4.       Rajapakse, D. and Jarzabek, S. “Towards generic representation of web applications: solutions and trade-offs,” to appear in Software, Practice & Experience

5.       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

6.       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

7.       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

8.       Jarzabek, S. Genericity -  a “Missing in Action” Key to Software Simplification and Reuse,” accepted for 13th Asia-Pacific Software Engineering Conference, APSEC’06, IEEE Comp. Soc., 6-8 December 2006, Bangalore, India, pp. 293-300

9.       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

10.    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

11.    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

12.    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

13.    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

14.    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

15.    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)

16.    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

17.    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

18.    Jarzabek, S, Yang, B. and Sam, S. “Addressing Quality Attributes in Domain Analysis for Product Lines,” IEE Proceedings Software, IEE and British Computer Society, Vol. 153, No. 2, April 2006, pp. 61-73

19.    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

20.    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  [14].

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: 03 June, 2009