UWA Logo
  Faculty Home | School Home | Internal Page | Awesome Animations   
           
Home
About the School
Contact and People
Future Undergraduate Students
Prospective Postgraduates
Current Students
Current Postgraduates
Research
IT News
Awards
Industry Links and Prizes
School and IT Information
Other
Internal Information

Research Seminar - December 10, 2004

Meta-level parameterization and generation for enhanced genericity

The Importance and Difficulties of Systematic Treatment of Redundancies

Time: 11am, Friday 10th December

Computer Science & Software Engineering

Seminar Room 1.24


Speaker:
Assoc Prof. Stan Jarzabek
Department of Computer Science, School of Computing
National University of Singapore


 

Abstract:

The design of generic solutions to avoid repetition, at analysis, architecture, design and code levels, is the heart of systematic reuse. However, in many cases, genericity and non-redundancy are difficult to achieve with conventional techniques (such as OO generics, design patterns, architectural approaches or component-based technologies). This is evidenced by high presence of redundancies in programs (i.e., recurring similar program structures, so-called clones). Redundancies cause update anomalies that hinder program understanding and maintenance. Therefore, generic design solutions have to do with both reusability and maintainability, the two economically desirable . but also difficult to achieve - software engineering goals. In the seminar, I will discuss empirical and analytical arguments to support the above claims, in particular, reasons why redundancies occur, problems they are causing, and difficulties of combating redundancies in the frame of the existing component-based and OO programming paradigms. I will argue about the general nature of the observed symptoms, and their causes. Finally, I will describe how the above problems can be treated with a meta-level technique of XVCL [1]. XVCL combines unrestricted meta-level parameterization with generation features to achieve higher levels of reusability and maintainability, beyond what we can do with conventional OO and component-based design methods. The approach is practical as it complements, rather than competes with component-based programming paradigms. It has been successfully applied in industrial projects. The approach is useful in building software product line architectures for systematic reuse, in managing multiple versions of software released to different clients during software evolution, and in day-to-day maintenance. The core of the seminar is based on [2], and also on two yet unpublished papers [3,4].

Summary of redundancy analysis: Our empirical studies revealed high presence of redundancies, 50%-68% [2],[3], in new, well-designed class libraries and application programs. For example, the extent of the redundant code in Java Buffer library was 68%, in parts of STL (C++) - over 50%, in command and control application (J2EE and C#) . 68%, and in certain ASP Web portal modules . up to 90% [4]. The last two results are from industrial applications of XVCL by our industry partner SES Systems Pte Ltd. In our studies, we considered as redundant any kind of repetition, counter-productive for maintenance, resulting in recurring patterns of similar program structures - simple code fragments (e.g., similar class methods), patterns of inter-related classes (e.g., design or analysis patterns), or patterns of components at the architecture level. In many cases, redundancies occurred as there was no simple way of avoiding them with conventional methods, without compromising other important design goals. However, we could effectively treat all the redundancies by unifying them with generic structures built with XVCL.

 

    [1] XVCL. XVCL - XML-based Variant Configuration Language - is a public domain, open source meta-programming technique for effective reuse and maintenance, developed at NUS: http://fxvcl.sourceforge.net
    [2] Jarzabek, S. and Li, S. .Eliminating Redundancies with a .Composition with Adaptation. Meta-programming Technique,. Proc. ESEC-FSE'03, European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering, ACM Press, September 2003, Helsinki, pp. 237-246; paper received ACM Distinguished Paper award
    [3] Jarzabek, S. .The Importance and Difficulties of Systematic Treatment of Redundancies,. submitted for publication
    [4] Pettersson, U., and Jarzabek, S. .An Industrial Application of a Reuse Technique to a Web Portal Product Line,. submitted for publication


About the speaker:

Stan is an Associate Professor at the Department of Computer Science, School of Computing, National University of Singapore (NUS) and an adjunct Associate Professor at the Department of Electrical & Computer Engineering, University of Waterloo. He received his Master in Mathematics and Ph.D. in Computer Science from the Warsaw University. He spent 12 years of his professional career in industry. Stan is interested in domain analysis, architecture design and architecture implementation techniques for reusable and maintainable software. Stan has worked on product line approach to software reuse, component-based software engineering, static program analysis, reverse engineering, programming environments and compiler-compilers. He has published 70 papers in international journals and conference proceedings (his recent paper received the ACM SIGSOFT distinguished paper award). He has given courses for industry on software reuse and re-engineering. In 2000-02, he was a Principal Investigator in collaborative projects involving universities (NUS and the University of Waterloo) and companies in Singapore and Toronto. Stan joined NUS in 1992. In 1990-92, he was a Research Manager at CSA Research Pte. Ltd. (a company developing CASE tools). In 1984-89, he was an Assistant Professor at the McMaster University, Hamilton, Canada, doing research on software engineering. In 1998-99, he was on sabbatical leave from NUS, at the Fraunhofer Institute for Experimental Software Engineering, Germany and at the University of Waterloo, Canada.


Email: stan[at]comp.nus.edu.sg
fax: 65-6779-4580; tel: 65-6874-2863 (office) 65-96255863 (mobile)
Full CV at: http://www.comp.nus.edu.sg/~stan/CVStanJ.pdf


Top of Page