Quantitative Approaches in Object-Oriented Software Engineering

Similar documents
PROCESS USE CASES: USE CASES IDENTIFICATION

Rule discovery in Web-based educational systems using Grammar-Based Genetic Programming

MASTER OF SCIENCE (M.S.) MAJOR IN COMPUTER SCIENCE

IBM Software Group. Mastering Requirements Management with Use Cases Module 6: Define the System

Specification of the Verity Learning Companion and Self-Assessment Tool

The recognition, evaluation and accreditation of European Postgraduate Programmes.

Computerized Adaptive Psychological Testing A Personalisation Perspective

Specification and Evaluation of Machine Translation Toy Systems - Criteria for laboratory assignments

Welcome to. ECML/PKDD 2004 Community meeting

AUTHORING E-LEARNING CONTENT TRENDS AND SOLUTIONS

A Coding System for Dynamic Topic Analysis: A Computer-Mediated Discourse Analysis Technique

IAT 888: Metacreation Machines endowed with creative behavior. Philippe Pasquier Office 565 (floor 14)

Higher education is becoming a major driver of economic competitiveness

Automating the E-learning Personalization

Major Milestones, Team Activities, and Individual Deliverables

Content-free collaborative learning modeling using data mining

Agent-Based Software Engineering

Laboratorio di Intelligenza Artificiale e Robotica

Deploying Agile Practices in Organizations: A Case Study

Ontologies vs. classification systems

Evaluation of Usage Patterns for Web-based Educational Systems using Web Mining

Evaluation of Usage Patterns for Web-based Educational Systems using Web Mining

EDUCATION IN THE INDUSTRIALISED COUNTRIES

InTraServ. Dissemination Plan INFORMATION SOCIETY TECHNOLOGIES (IST) PROGRAMME. Intelligent Training Service for Management Training in SMEs

Knowledge based expert systems D H A N A N J A Y K A L B A N D E

Different Requirements Gathering Techniques and Issues. Javaria Mushtaq

Notes on The Sciences of the Artificial Adapted from a shorter document written for course (Deciding What to Design) 1

Laboratorio di Intelligenza Artificiale e Robotica

An NFR Pattern Approach to Dealing with Non-Functional Requirements

Applying Learn Team Coaching to an Introductory Programming Course

IAB INTERNATIONAL AUTHORISATION BOARD Doc. IAB-WGA

What s in a Step? Toward General, Abstract Representations of Tutoring System Log Data

Data Fusion Models in WSNs: Comparison and Analysis

Chamilo 2.0: A Second Generation Open Source E-learning and Collaboration Platform

arxiv: v1 [cs.hc] 21 Nov 2012

Learning From the Past with Experiment Databases

An Example of an E-learning Solution for an International Curriculum in Manufacturing Strategy

A Case Study: News Classification Based on Term Frequency

European Cooperation in the field of Scientific and Technical Research - COST - Brussels, 24 May 2013 COST 024/13

An Interactive Intelligent Language Tutor Over The Internet

An Open Framework for Integrated Qualification Management Portals

Modeling user preferences and norms in context-aware systems

Community-oriented Course Authoring to Support Topic-based Student Modeling

AQUA: An Ontology-Driven Question Answering System

Implementing a tool to Support KAOS-Beta Process Model Using EPF

Challenges for Higher Education in Europe: Socio-economic and Political Transformations

A cognitive perspective on pair programming

Guru: A Computer Tutor that Models Expert Human Tutors

COMPETENCY-BASED STATISTICS COURSES WITH FLEXIBLE LEARNING MATERIALS

An OO Framework for building Intelligence and Learning properties in Software Agents

Programme Specification. MSc in International Real Estate

Smart Grids Simulation with MECSYCO

Data Integration through Clustering and Finding Statistical Relations - Validation of Approach

EUA Annual Conference Bergen. University Autonomy in Europe NOVA University within the context of Portugal

ERC Starting Grant Inside the CV SERVIZIO FONDI ESTERNI INFN. Manuela Schisani Roma 13/11/2014

World University Rankings. Where s India?

Adaptation Criteria for Preparing Learning Material for Adaptive Usage: Structured Content Analysis of Existing Systems. 1

CONCEPT MAPS AS A DEVICE FOR LEARNING DATABASE CONCEPTS

Software Development: Programming Paradigms (SCQF level 8)

Additional Qualification Course Guideline Computer Studies, Specialist

CWIS 23,3. Nikolaos Avouris Human Computer Interaction Group, University of Patras, Patras, Greece

Rule Learning With Negation: Issues Regarding Effectiveness

Cooperative Systems Modeling, Example of a Cooperative e-maintenance System

An Introduction to the Minimalist Program

MODERNISATION OF HIGHER EDUCATION PROGRAMMES IN THE FRAMEWORK OF BOLOGNA: ECTS AND THE TUNING APPROACH

Benchmarking Curriculum-Based Course Timetabling: Formulations, Data Formats, Instances, Validation, and Results

Problems of the Arabic OCR: New Attitudes

Introduction. 1. Evidence-informed teaching Prelude

What Different Kinds of Stratification Can Reveal about the Generalizability of Data-Mined Skill Assessment Models

Online Marking of Essay-type Assignments

Observing Teachers: The Mathematics Pedagogy of Quebec Francophone and Anglophone Teachers

Emergency Management Games and Test Case Utility:

Word Segmentation of Off-line Handwritten Documents

TextGraphs: Graph-based algorithms for Natural Language Processing

TIMSS ADVANCED 2015 USER GUIDE FOR THE INTERNATIONAL DATABASE. Pierre Foy

Objects Identification in Object-Oriented Software Development - A Taxonomy and Survey on Techniques

PESIT SOUTH CAMPUS 10CS71-OBJECT-ORIENTED MODELING AND DESIGN. Faculty: Mrs.Sumana Sinha No. Of Hours: 52. Outcomes

Module 12. Machine Learning. Version 2 CSE IIT, Kharagpur

National Pre Analysis Report. Republic of MACEDONIA. Goce Delcev University Stip

School Inspection in Hesse/Germany

Customised Software Tools for Quality Measurement Application of Open Source Software in Education

Efficient Use of Space Over Time Deployment of the MoreSpace Tool

Maximizing Learning Through Course Alignment and Experience with Different Types of Knowledge

Let s think about how to multiply and divide fractions by fractions!

Class Responsibility Assignment (CRA) for Use Case Specification to Sequence Diagrams (UC2SD)

Circuit Simulators: A Revolutionary E-Learning Platform

Shared Mental Models

Learning Methods for Fuzzy Systems

Conversational Framework for Web Search and Recommendations

Measurability and Reproducibility in University Timetabling Research: Discussion and Proposals

Predicting Student Attrition in MOOCs using Sentiment Analysis and Neural Networks

An Approach for Creating Sentence Patterns for Quality Requirements

Developing Students Research Proposal Design through Group Investigation Method

TEACHER'S TRAINING IN A STATISTICS TEACHING EXPERIMENT 1

Software Security: Integrating Secure Software Engineering in Graduate Computer Science Curriculum

PhD Competences in Food Studies

TU-E2090 Research Assignment in Operations Management and Services

CREATING SHARABLE LEARNING OBJECTS FROM EXISTING DIGITAL COURSE CONTENT

Self Awareness, evaluation and motivation system Enhancing learning and integration and contrast ELS and NEET

Introduction Research Teaching Cooperation Faculties. University of Oulu

Transcription:

Quantitative Approaches in Object-Oriented Software Engineering Mario Piattini 1, Fernando Brito e Abreu 2, Geert Poels 3,and Houari A. Sahraoui 4 1 Universidad de Castilla-La Mancha, Ronda de Calatrava, 5, 13071, Ciudad Real, Spain Mario.Piattini@uclm.es 2 Universidade Nova de Lisboa & INESC, Rua Alves Redol, 9, Apartado 13069, 1000 Lisboa, Portugal fba@di.fct.unl.pt - fba@inesc.pt 3 Katholieke Universiteit Leuven & VLEKHO Business School, Koningsstraat 336, 1030 Brussels, Belgium geert.poels@econ.kuleuven.ac.be - gpoels@vlekho.wenk.be 4 Universite de Montreal, CP 6128 succ Centre-Ville, Montreal QC H3C 3J7, Quebec, Canada sahraouh@iro.umontreal.ca Abstract. This report summarizes the contributions and debates of the 6th International ECOOP Workshop on Quantitative Approaches in Object-Oriented Software Engineering (QAOOSE 2002), which was held in Malaga on 11 June, 2002. The objective of the QAOOSE workshop series is to present, discuss and encourage the use of quantitative methods in object-oriented software engineering research and practice. This year s workshop included the presentation of eleven position papers in the areas of software metrics definition, software size, complexity and quality assessment, and software quality prediction models. The discussion sessions focused on current problems and future research directions in QAOOSE. 1. Introduction The 6th International ECOOP Workshop on Quantitative Approaches in Object- Oriented Software Engineering (QAOOSE 2002) was a direct continuation of five successful workshops, held at previous editions of ECOOP in Budapest (2001), Cannes (2000), Lisbon (1999), Brussels (1998) and Aarhus (1995). Quantitative approaches in the OO field is a broad but active research area that aims at the development and/or evaluation of methods, techniques, tools and practical guidelines to improve the quality of software products and the efficiency and effectiveness of software processes. The relevant research topics are diverse, but always include a strong focus on applying a scientific methodology based on data collection (either by objective measurements or subjective assessments) and analysis (by statistical or artificial intelligence techniques). J. Hernández and A. Moreira (Eds.): ECOOP 2002 Workshops, LNCS 2548, pp. 147 153, 2002. c Springer-Verlag Berlin Heidelberg 2002

148 Mario Piattini et al. Like in previous years, the workshop attracted participants from academia and industry that are involved or interested in the application of quantitative methods in object oriented software engineering research and practice. Thirteen papers were accepted to be included in the proceedings 1 and eleven were presented at the workshop. The number of participants was nineteen, mainly from Europe (Belgium, France, Spain, Italy, Portugal, Switzerland, U.K., Austria), but also from USA, Canada and Japan. Most of them with an academic background. The workshop followed this structure. The position papers that were presented were organized into four presentation sessions, consisting of 20 minutes of presentation and 10 minutes of question/discussion, a final discussion took place at the end of the workshop. This report is organized as follows. In section 2, 3 4 and 5 we present a summary of this year s workshopcontributions with comments and some conclusions elaborated during the discussion of the papers. In section 6 we present the workshopconclusions and the open issues that were identified. 2. Session I 2.1. Fast&&Serious: A UML Based Metric for Effort Estimation M. Carbone and G. Santucci (Universita degli Studi di Roma La Sapienza, Italy). In this paper the authors present a new method to estimate the size of a software project developed following the object-oriented paradigm. The method is designed to work with a set of UML diagrams describing the most important system features and calculates the complexity of a system in terms of source lines of code. The counting process is done by automatic extracting information about UML diagrams from Rational Rose petal files. The discussion of this work focused on the need of justifying the weights used in the model, as the proposed estimation model used too much intuition. Also it was argued that the authors should include the network of associations and other relationships among classes in their estimation model since those dependencies are in the essence of software complexity. Very intensive validation experiments are necessary to refine the proposed method. 1 All contributions accepted to the workshop were published in the workshop s proceedings. To obtain a copy of the proceedings (ISBN 84-699-8696-1), contact the executive editor (Mario Piattini Mario.Piattini@uclm.es). Electronic versions of the position papers) can also be downloaded from the workshop s web pages (http://alarcos.inf-cr.uclm.es/qaoose2002/index.htm).

Quantitative Approaches in Object-Oriented Software Engineering 149 2.2. McRose: Functional Size Measurement for Rational Rose RealTime H. Diab, F. Koukane, M. Frappier, R. St-Denis. (Universite de Sherbrooke, Canada). Estimation was also the subject of the second paper, which described crose, a tool which automatically measures the functional software size, as defined by the COSMIC-FFP measure, for Rational Rose RealTime models. COSMIC-FFP is an adaptation of the function point measure for real-time systems. It can be used for effort estimation, productivity evaluation and benchmarking. crose is integrated with the Rational Rose RealTime toolset. The discussion about this paper focused on the mapping between Rational Rose Real Time (RRRT) and the Cosmic Function Point (FP) method, coming out that this mapping is the most difficult aspect in this proposal and that it still deserves more research attention. The authors were asked if they considered the possibility of using the proposed method do decide upon different design alternatives, using the information on the corresponding effort. 2.3. Combining and Adapting Software Quality Predictive Models S. Bouktif, B. Kegl, H. Sahraoui. (Universite de Montreal, Canada). This paper proposes an evolutionary approach for combining and adapting existing software quality predictive models (experts) to a particular context. The resulting model can be interpreted as a meta-expert that selects the best expert for each given task. This notion corresponds well to the real world in which individual predictive models, coming from heterogeneous sources, are not universal, and depend largely on the underlying data. Their preliminary results show that the combination of models can perform significantly better than individual experts. This kind of models could help also to improve the stability of the Java interfaces as the weakest attributes can be identify and the most suitable refactorings proposed. The authors clarify that they can use any kind of ordinal scales, with any number of labels for classification. It was noted that a very interesting work would be to compare genetic algorithms with other methods for predicting quality characteristics. 3. Session II 3.1. Implementing Automatic Quality Verification of Requirements with XML and XSLT A. Duran, A. Ruiz, M. Toro. (Universidad de Sevilla, Spain). In their presentation the authors propose a tool which uses XML and XSLT to implement requirements verification heuristics for discovering hidden conflicts

150 Mario Piattini et al. and defects in natural language requirements. For the verification of use cases the authors define several metrics and propose some values that indicate a misuse of use case elements. It was highlighted that the tool does not support a real validation, because it does not automate the verification of the semantic properties of the requirements. Also a very interesting extension of the tool could be the supporting of the requirements negotiation. 3.2. From Objects to Components: A Quantitative Approach M. Goulao, F. Brito e Abreu. (INESC-ID, Portugal). This paper describes an experiment which compares component-based development with traditional object-oriented development. An application for the customisation and visualization of 3D functions were transformed into components using two different technologies: Borland Delphi and C++. One of the conclusions of the experiment was that Object Pascal offers a less abrupt paradigm shift from OOP to COP than Visual C++. The experiments reflects also the learning difficulties presented by the adoption of COP. As the own authors remark, more ambitious experiments have to be carry out in order to make generalizations, using different subjects, systems with different sizes and levels. It is difficult also to know exactly which things must be compared, because component-based development could not be just compared to object-oriented programming languages, but to other modularisation techniques used in OOP. 3.3. Quality Attributes for COTS Components M. F. Bertoa, A. Vallecillo. (Universidad de Malaga, Spain). The authors underline the lack of appropriate quality models that allow an effective assessment of COTS components. They propose a quality model based on the ISO 9126 standard with six quality characteristics: functionality, reliability, usability, efficiency, maintainability and portability, and several subcharacteristics. In this paper they propose also different metrics for these subcharacteristics. Both the model and the metrics should be validated and refined, even if component stakeholders probably would never reach a complete agreement on component quality attributes. 4. Session III 4.1. Developing Software Metrics Applicable to UML Models H. Kim, C. Boldyreff. (City University & University of Durham, UK). In this paper, the authors propose some new software metrics that can be applied to UML modeling elements like classes and messages. They claim that

Quantitative Approaches in Object-Oriented Software Engineering 151 these metrics can be used to predict various characteristics at the earlier stages of the software life cycle. Moreover, the authors developed a CASE tool on top of Rational Rose that support the metric collection and they provide some examples using it. The metrics proposed were supposed to evaluate size and complexity but a more specific goal should perhaps be defined. The authors started with Chidamber and Kemerer metrics and adapted them to UML, but they did not take into account more recent proposals for measuring UML models. Another issue which raise with the metrics is their collection for large systems. 4.2. Beyond Language Independent Object-Oriented Metrics: Model Independent Metrics M. Lanza, S. Ducasse. (Universite de Berne, Switzerland). The authors propose a metamodel to define domain independent metrics. This metamodel is part of the Moose Reengineering Environment. This work is an extension of the previous works on the language-independent FAMIX metamodel. The authors define new metrics because they want to have a metrics engine which works independently from the metamodel, avoiding extending the metrics engine each time a new metamodel is defined. Almost 50% of the metrics were defined for reengineering purpose, but not all of them. The rest is still unexploited. The authors were also asked about the use of 2D visualization, instead of 3D. They answer that the sheer size of the case studies did not allow them to go into complicated methods. They preferred to use fast & dirty approaches and throw away those that did not work, but 3D is certainly a topic that could and should be explored better. 4.3. Embedding Quantification Techniques to Development Methods M. Saeki. (Tokyo Institute of Technology, Japan). In this paper, the author proposes a general framework of extending an existing method which includes the activities for attaching semantic information to the artifacts and for measuring their quality using this information. This is done by using a metamodeling technique. Semantic information on the artifacts and the definition of the measures are formally defined on a metamodel. The authors clarify that presented metrics are only examples to illustrate the approach and that for real methods, sophisticated weighting methods are needed. The approach let a lot of freedom to the method designer and more guidance is needed to helpher/him later to define the method and the metrics. It would be also interesting a possible extension to collect the metrics on the process and not only on the artifacts.

152 Mario Piattini et al. 5. Session V 5.1. Using OCL to Formalize Object-Oriented Design Metrics Definitions A. L. Baroni, S. Braz, F. Brito e Abreu. (Univ. Nova de Lisboa, Portugal & Ecole des Mines de Nantes, France & Univ. da Beira Interior, Portugal). This paper describes the formalization effort of different sets of object-oriented metrics definitions using the Object Constraint Language (OCL) and the UML meta-model. The approach followed by the authors allows unambiguous metrics definition and provides a good basis for tool support. Other formalization techniques could be used for formalizing metrics definition but the authors think that most of the software engineers are used to work with UML and OCL, so it is an advantage to use these techniques in metrics definition. 5.2. Measuring the Whole Software Process: A Simple Metric Data Exchange Format and Protocol M. Auer. (Technical University of Vienna, Austria) The author proposes a metric data exchange format and a data exchange protocol to communicate metric data. It also proposes a metric hub implemented as a Web service interface to a metric repository and metric connectors which translate a proprietary metric data format into the metric exchange format. Two additional position papers were accepted, but not presented at the workshop: Going from Multiple to Single Inheritance with Metrics. C.Roume. LIRMM, France. Defining and Validating Metrics for UML Statechart Diagrams. M. Genero, D. Miranda, M. Piattini. University of Castilla-La Mancha, Spain 6. Workshop Conclusions All the workshoplong several issues arose which have recurred in every edition, such as: the importance of defining clear goals for the different metrics suites, the requirement of planning and carrying out the experiments rigorously, the need of internal and external replication of the experiments, the difficulty of calibrating the weights used in the models, the lack of data which makes it hard to generalize and to reuse existing models, the application of the metrics by the industry or the importance to have tools which automate metric collection and suggest alternatives in OO design. In this edition the participants to the workshop stressed the importance of the help that quantitative approaches can provide to understand the impact of new

Quantitative Approaches in Object-Oriented Software Engineering 153 technologies -especially components- on the software development process and on software quality. Quality models and metrics for multidimensional aspects of components are starting to be defined, and they could be the basis for better component selection and evaluation processes and tools. However, we must take into account that not all the characteristics of components could be assessed in an objective way or by third parties, some of them are also not provided by the component vendors. Regarding to metrics for components the problem is that we must work at the right abstraction level considering a component at design level more than at the code level. In this way, some of the problems and approaches used in metrics for patterns could be useful when defining and validating metrics for components. Technical aspects are not the only ones in component based development, e.g. legal aspects which are out of the scope of the metrics- are very important. The ever increasingly importance of component in software development suggest that perhaps we should revise the name of the workshop for the next edition and think about quantitative approaches to component-based software engineering. The other big issue of this workshophas been the usage of metamodels for metric definition and tool construction. Metamodels just as formal notations could be used to describe metrics more precisely. Metamodels could also offer a level of independence from OO languages, although the metamodel is not really language independent since only the syntax is unified but not the semantics. Some problems in using UML to specify metamodels were also pointed out by the participants in the workshop. Also, it was remarked that most of the proposed metamodel address only static properties, so it will be necessary to work deeper in metamodels for dynamic metrics which are traditionally disregarded comparing to static ones. Other themes discussed during the workshopwere the inexistence of universal models valid for different organizations and the need of selecting and defining particular models for an organization, which is a very difficult task as well as the powerful combination of metrics and visualization for managing purposes.