Software Quality The Eclipse Way And Beyond

Similar documents
Lyo OSLC4J, Oauth Library and OSLC Test Suite 1.1 Release and Graduation Review

A Review of Models for Evaluating Quality in Open Source Software

Free/Libre Open Source Quality Models - a comparison between two approaches

ECLIPSE FOUNDATION, Inc. INTELLECTUAL PROPERTY POLICY Effective as of July 21, 2011 (the Effective Date )

Software Engineering: Analysis and Design - CSE3308

Software infrastructure for Java development projects

Java Software Quality Tools and techniques

application of software quality models in evaluation of study quality

Comparative Analysis of Different Software Quality Models

The «SQALE» Analysis Model An analysis model compliant with the representation condition for assessing the Quality of Software Source Code

Software Qualimetry at Schneider Electric: a field background

Build management & Continuous integration. with Maven & Hudson

What do you think? Definitions of Quality

How They Do It in Switzerland Outsource the Code, Insource the Quality

GECKO Software. Introducing FACTORY SCHEMES. Adaptable software factory Patterns

Getting the global picture

Best Practices for Java Projects Horst Rechner

Analysis of the Software Development Process of inspectit and Changes Required for Joining the Eclipse Foundation

CDC UNIFIED PROCESS PRACTICES GUIDE

The DAM Maturity Model

V. Phani Krishna et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (6), 2011,

EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH CERN ACCELERATORS AND TECHNOLOGY SECTOR

MTAT Software Engineering Management

The Role of Information Technology Studies in Software Product Quality Improvement

Archiving the Eclipse Test & Performance Tools Platform Monitoring Tools sub-project

Software Configuration Management Plan

Software Metrics and Measurements

A Comparative Study of Software Quality Models

Application of software product quality international standards through software development life cycle

Digital Marketplace - G-Cloud

The Advantages Of PROSE For Open Source Software Development

SA4 Software Developer Survey Survey Specification v2.2

A Model for Effective Asset Re-use in Software Projects

Implementing Configuration Management for Software Testing Projects

Usability metrics for software components

Call for Quality: Open Source Software Quality Observation

Surveying and evaluating tools for managing processes for software intensive systems

SOFTWARE REQUIREMENTS

Status Report: Practical Software Measurement

Eclipse Committer Bootcamp

1. Introduction. Annex 7 Software Project Audit Process

Karunya University Dept. of Information Technology

Requirements engineering

Lecture 1: Introduction to Software Quality Assurance

Software Development in the Digital Library Program. Digital Library Brown Bag Tamara Cameron David Jiao Oct. 22, 2004

Software Quality Assurance Plan

Use of automated workflow systems in virtual teams

CSC 408F/CSC2105F Lecture Notes

White Paper. Software Development Best Practices: Enterprise Code Portal

Impact of user satisfaction on Software quality in use

An open model for tailoring software processes

QUALITY MODEL BASED ON COTS QUALITY ATTRIBUTES

ETICS - A Clean Approach to Open Source Cloud Software

Delivering Quality Software with Continuous Integration

What is Open Source? Open source is defined by three key components:

Darshan Institute of Engineering & Technology Unit : 7

Make Your Business Simple Using FobessCRM

Effective Test Management can help you to launch mobile payments faster, smarter and cheaper

End-to-End Testing. Helping our Customers improve quality and reduce costs

Business Process Management

EXHIBIT L. Application Development Processes

Keywords Continuous Integration, Engineering Pipeline, SonarQube, Test Orchestration.

Upping the game. Improving your software development process

Web project proposal. European e-skills Association

Then call us today (07) or to find out more about how we can help you!

#define. What is #define

SOFTWARE QUALITY MODELS: A COMPARATIVE STUDY

The OPEN Manifesto Future City Principles

So#ware quality assurance - introduc4on. Dr Ana Magazinius

Process Models and Metrics

Maven or how to automate java builds, tests and version management with open source tools

Obtaining ROI from an ALM Tool

How the Open Source tools and spirit enable better projects July 09 th 2009

MATLAB as a Collaboration Platform Marta Wilczkowiak Senior Applications Engineer MathWorks

Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao

Operationalizing Data Governance through Data Policy Management

Quality Evaluation in transformation of event logs into visual representations

When a Process Diagram is not Enough

SOFTWARE DEVELOPMENT BASICS SED

Mingle Supports Complete Application Lifecycle Management for One Of The World's Leading Research Institutions

OPTIMISING PROCESSES OF IT ORGANISATION THROUGH SOFTWARE PRODUCTS CONFIGURATION MANAGEMENT

Rational Quality Manager. Quick Start Tutorial

Open Source Tools. The Magazine for Professional Testers. December 2010

Theme 1 Software Processes. Software Configuration Management

Description of Services for A Quality Assurance Engineer for SQA Assignment for eservices Development Projects ICTA/CON/IC/P5/411B

From TOPCASED to Polarsys

Java Power Tools. John Ferguson Smart. ULB Darmstadt 1 PI. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo

Software Development Methodologies in Industry. By: Ahmad Deeb

Continuous Integration Multi-Stage Builds for Quality Assurance

Higher National Unit specification. General information. Software Development: Analysis and Design (SCQF level 7) Unit code: HA4C 34.

Usability Issues in Web Site Design

Eclipse Business Intelligence and Reporting Tools (BIRT) PMC

Lecture 8 About Quality and Quality Management Systems

International Journal of Advance Research in Computer Science and Management Studies

Stellar Phoenix Exchange Server Backup

WHITEPAPER IMPROVE YOUR MARKETING AND SALES PERFORMANCES THROUGH OPTIMISED LEAD MANAGEMENT

Demand & Requirements Management Software Development QA & Test Management IT Operations & DevOps Change Management Agile, SAFe, Waterfall Support

Software Project Audit Process

Software Construction

Table of contents. HP Software customer perspective: using HP TestDirector for Quality Center software to report and resolve software defects

Transcription:

Software Quality The Eclipse Way And Beyond Boris Baldassari boris.baldassari@squoring.com Flavien Huynh flavien.huynh@squoring.com 05/06/13 SQuORING Technologies 1

Plan Introduction Quality in Software Engineering Eclipse Quality Requirements Data providers for metrics Eclipse Quality Model Conclusion 05/06/13 SQuORING Technologies 2

Introduction Who? Polarsys is an Eclipse Industry Working Group (IWG) with the following goals: Provide Very Long Term Support up to 10 and 75 years. Provide certification to ease the tools qualification in complex certification processes. Develop the ecosystem of Eclipse tools for Critical Embedded Systems. Maisqual is a research initiative focusing on data mining techniques in software engineering. It is a joint project between the SequeL INRIA laboratory and SQuORING Technologies. 05/06/13 SQuORING Technologies 3

Introduction Why? Eclipse projects are meant to be used in bundles: the whole stack is as strong as its weakest part. There is no automatic, objective and unified quality evaluation for Eclipse projects. So Polarsys has launched a task force to discuss Maturity (or Quality) Assessment, Identify quality requirements, both for Eclipse and Polarsys, Provide means to assess project's quality. 05/06/13 SQuORING Technologies 4

Introduction How? The Maturity Assessment Working Group intends to: Propose a generic Eclipse quality model conforming to the Eclipse way of life. Define and enforce quality requirements for projects entering the Polarsys umbrella. Thus the quality assessment process should be: Fully automated for reliable measurement, Cristal-clear so people understand it, Usable, and used, for Quality Improvement. 05/06/13 SQuORING Technologies 5

Introduction When? The first polarsys release is our deadline in next September. This is an on-going work! Hence: Things may change your feedback is welcome! We are currently working on a prototype, only partial results are available for now. 05/06/13 SQuORING Technologies 6

Quality in Software Engineering 05/06/13 SQuORING Technologies 7

Many definitions... Software quality may have different meanings for different actors. Most often seen definitions include: [Kan2003] Conformance to requirements in a contract (Crosby), Fitness for use for the customer (Deming, Feigenbaum), Maintainability for the manufacturer, Maturity in critical embedded systems, Or even: I recognise it when I see it. 05/06/13 SQuORING Technologies 8

Quality Models and Standards Many standards have grown to define or measure quality in software engineering. Product quality McCall, Boehm, FURPS ISO 9126, Process quality ISO 15504, ISO 9001 CMM ISO SQuaRE (250xx series), HIS, ECSS 05/06/13 SQuORING Technologies 9

Open source Quality Models There are quality models dedicated to open source software projects: Open Source Maturity Model (OSMM Cap Gemini & OSMM Navica) OpenBRR, QSOS, QualOSS, Qualipso... But... Open source projects show a huge variety of different constraints and contexts. Many of these quality models have been criticised (e.g. for community assessment, or automatic data retrieval), and none of them received a wide acceptance from users and projects. 05/06/13 SQuORING Technologies 10

Eclipse Quality Requirements 05/06/13 SQuORING Technologies 13

Eclipse Quality Requirements There is no single definition of quality on the Eclipse website. But some recommendations and quality concerns can be gathered when crawling through the wiki and project pages. Finally: Product quality only has a few guidelines, while Process and Community concerns are better defined through required rules and guidelines. 05/06/13 SQuORING Technologies 14

Eclipse Product Quality Reliability as ISO 9126's definition of Maturity. Maintainability, further decomposed in: Reusability degree to which an asset can be used in more than one system, or in building other assets Analysability degree of effectiveness and efficiency to assess the impact of an intended change Changeability degree to which a product or system can be effectively and efficiently modified without introducing defects or degrading existing quality 05/06/13 SQuORING Technologies 15

Eclipse process phases An Eclipse project lifecycle has 3 major phases: 1. Proposal 2. Incubating IP due diligence, Developing the communities, Regular milestones, Interim releases, Specific branding. 05/06/13 SQuORING Technologies 16

Eclipse process phases 3. Mature Predictability of outputs, Nurturing the communities, Release reviews. We consider the incubating and mature phases for process-related concerns and improvement. 05/06/13 SQuORING Technologies 17

Eclipse Communities Community is a fundamental of the Eclipse way Developers (contributors and committers) Users (end-users and adopters) Concerns about community are Diversity of committers: different thoughts, avoid to rely entirely on one company or organisation. Project activity: the amount of work done in a given period of time. Community support: ability to answer to help requests. 05/06/13 SQuORING Technologies 19

Data Providers for Metrics 05/06/13 SQuORING Technologies 20

Data Providers Mailing lists Data providers have been developed to get information on: Mailing lists / forums: number of posts, number of authors, number of distinct threads, number of answers, median time to answer. Metrics are computed for last week, last month, and last 3 months. 05/06/13 SQuORING Technologies 21

Data Providers SCM SCM (Subversion) metadata: number of commits (File & Application levels), number of committers (File & Application levels), number of committed files (Application level), ratio of fix-related commits (File & Application levels). Metrics are computed for last week, last month, and last 3 months. 05/06/13 SQuORING Technologies 22

Data Providers Process The Eclipse foundation has initiated a repository to automatically retrieve process information: number of milestones, number of reviews, number of themes (work item categories), number of requirements (Bugzilla change requests), IP logs. Still a lot more to do! 05/06/13 SQuORING Technologies 23

Eclipse Quality Model 05/06/13 SQuORING Technologies 24

Eclipse Quality Model We propose a quality model tailored to Eclipse quality requirements: Includes Product, Process and Community quality characteristics. Offers a fully automatic analysis, which should be in the future working right out-of-the-box for new projects. Retrieves data from various repositories: Source code, Mailing lists and forums, SCM, Process. 05/06/13 SQuORING Technologies 25

Eclipse Quality Model 05/06/13 SQuORING Technologies 27

Product Quality Product-related information consists of: Intrinsic measures: e.g. McCabe, Halstead metrics, nesting level.. Bad practices: e.g. missing default, no assignment in conditions.. Cloning information. This information is gathered with: Custom scripts, adapted to the Eclipse repositories. SQuORE and Checkstyle tools. Other tools may be used as input (PMD, FindBugs, Sonar...) 05/06/13 SQuORING Technologies 28

Product Quality 05/06/13 SQuORING Technologies 29

Process Quality Process assessment is a difficult part: Metrics common to all project's processes are difficult to establish. Certification has specific constraints that need to be further established. Sub-characteristics identified until now are: Change Management Release Management Planning Management Test Management 05/06/13 SQuORING Technologies 30

Community Quality Community is decomposed into 4 sub-characteristics: Activity is the amount of work achieved in a period of time: Number of commits, Number of files committed, Volume of mails exchanged. Diversity is the amount of different actors (developers and users): Number of committers, Number of authors in mailing lists. 05/06/13 SQuORING Technologies 31

Community Quality Responsiveness is how fast people can get answers: Median time to first response in mailing list. Support is the amount of information received for requests: Mailing list response ratio, Number of different threads. 05/06/13 SQuORING Technologies 32

Community Quality 05/06/13 SQuORING Technologies 33

Presenting analysis results For maximum efficiency, we will: Publish the detailed quality model, from quality characteristics and sub-characteristics to metrics used. Provide pragmatic advice for quality improvement and good practices adoption. Publish the results in a centralised dashboard: developers and users should have all relevant information at a glance. 05/06/13 SQuORING Technologies 34

Conclusion 05/06/13 SQuORING Technologies 35

Conclusion This is only the beginning of the journey. We still need to: Discuss and get a general agreement on quality requirements with Eclipse and Polarsys actors. Add more data sources, e.g. bug tracking system, website and download statistics... Improve the quality model, most notably on the process part. Quality is everyone's concern and responsibility. 05/06/13 SQuORING Technologies 37

Thank you for your interest! More information on: http://maisqual.squoring.com/wiki/index.php/eclipse http://polarsys.org/wiki/index.php/maturityassessmentwg 05/06/13 SQuORING Technologies 38

References Garvin, David A. Managing quality: The strategic and competitive edge. Free Pr, 1988. Haaland, K., Groven, A., Regnesentral, N., Glott, R., & Tannenberg, A. (2010). Free/Libre Open Source Quality Models - a comparison between two approaches. Software Engineering and Advanced Applications, Euromicro Conference, 0(180054), 439 446. Ing, Marc-Alexis Côté M., and Elli Georgiadou. Software Quality Model Requirements for Software Quality Engineering. Jamwal, R., Jamwal, D., & Padha, D. (n.d.). Comparative Analysis of Different Software Quality Models. Kan, S. H. (2002). Metrics and Models in Software Quality Engineering (2nd ed.). Boston, MA, USA: Addison-Wesley Longman Publishing Co., Inc. Kitchenham, B., & Pfleeger, S. (1996). Software quality: the elusive target. Software, IEEE, 13(1), 12 21. 05/06/13 SQuORING Technologies 39

References Eclipse Quality: http://wiki.eclipse.org/eclipse_quality Eclipse Development Conventions and Guidelines: http://wiki.eclipse.org/development_conventions_and_guidelines Eclipse Development resources: http://wiki.eclipse.org/development_resources Polarsys official website: http://www.polarsys.org Maisqual research project: http://maisqual.squoring.com 05/06/13 SQuORING Technologies 40