360 likes | 472 Views
Toward a Quality Certification Process for Grid Research Projects: an ETICS feasibility Study. Andrea Manieri Adriano Rippa - Engineering Ingegneria Informatica s.p.a. On behalf of ETICS Project. Why bother?. R&D project results are often interesting, but:
E N D
Toward a Quality Certification Process for Grid Research Projects: an ETICS feasibility Study Andrea Manieri Adriano Rippa - Engineering Ingegneria Informatica s.p.a. On behalf of ETICS Project
Why bother? • R&D project results are often interesting, but: • They aim only at proving concepts • They suffer of deviation from plans due to their investigation nature • Developers (sometimes) don’t pay enough time to testing, documentation, etc • Developers are not so skilled in software engineering • After the end of a projects: • None (out of the consortium) is willing to use such sw • The software itself is difficult to maintain and improve • So, many times, effort and brilliant results are lost! Open Grid Forum 20 - Manchester 07-11 May 2007
That are only dreams? • Software components fully tested and documented • Maintenance of the know-how for build, deploy and run the software • Software components that build on different platform • Software bundle with all the right dependencies and the right libraries to be used by other developers Open Grid Forum 20 - Manchester 07-11 May 2007
Quality assurance… • QA is a matter of: • In which way sw has been created (procedural) • How sw is written (structural) • How sw perform (behavioural) • Currently we have: • QA standards (I.e. CMMi, ISO, ITIL, …) • SW Testing • So-called Quality of Service (at least partially) Open Grid Forum 20 - Manchester 07-11 May 2007
What’s missing, then? • A systematic approach to • Build software with all the correct dependencies • Extensively Test each components • That allows gathering some measures • Related to the build performance • Reporting tests results and • Other characteristics of the code • With which derive the overall quality of the software produced! • DISCLAIMER: this study will focus, initially, on Research Projects Open Grid Forum 20 - Manchester 07-11 May 2007
Yet another Quality Assurance model? • Current models are useful but: • are process oriented • provide theoretical guidelines on the organization • Theproblem: • Guidelines can be applied but it’s hard to systematically verify goodness of results Open Grid Forum 20 - Manchester 07-11 May 2007
ETICS feasibility study • To study and propose agrid software Certification model that can • Be automated and • Be not subjective • Used within Research Projects • ETICS will analyse the feasibility of a Certification for grid software: • To support the safe adoption of software generated by research projects • To help researchers in produce good grid applications Open Grid Forum 20 - Manchester 07-11 May 2007
The timeline Now OGF 20/EGEE UF 7-11 May OGF 21 15-19 Oct FIRST BETA VERSION FINAL BETA VERSION FIRST OFFICIAL VERSION FEBRUARY MAY OCTOBER DECEMBER ECHOGRID/EUChinagrid Conf. Beijing 24-25 April QUALIPSO Conference Dec 2007 Belief Conference RIO – BRASIL 25-28 June Open Grid Forum 20 - Manchester 07-11 May 2007
ETICS: the project • Started in January 2006 • Duration: 2 years • Funded by the European Commission: ~1.4 M€ • 5 partners • 2 early adopter projects • EGEE/gLite • DILIGENT/gCube • Spin-off of the integration and test activities of EGEE-I for gLite middleware • ETICS Service: • Improve the way Grid software is built and tested • Increase sharing in the Grid communities Open Grid Forum 20 - Manchester 07-11 May 2007
The ETICS Partners Build system, software configuration, service infrastructure, dissemination, EGEE, gLite, project coord. Software configuration, service infrastructure, dissemination The Condor batch system, distributed testing tools, service infrastructure, NMI Web portals and tools, quality process, dissemination, DILIGENT Test methods and metrics, unit testing tools, EBIT Open Grid Forum 20 - Manchester 07-11 May 2007
ETICS is a framework… • based on a grid infrastructure where it’s possible to: • Run any scripts over the code (e.g ant ) • Run the unit or component testing • Run a script to deploy one or more services • Run a test to verify the conformity of some API or guidelines (e.g IPV6 compliance) • … • Then collect all these data to • perform (trend) analysis • gather measures and calculate metrics… Open Grid Forum 20 - Manchester 07-11 May 2007
Where ETICS tools apply DESIGN and CODEWRITING CODE BUILD and INTEGRATION ETICS context TESTINGincludingCOMPLIANCE EXECUTION Open Grid Forum 20 - Manchester 07-11 May 2007
A Land of nobody? • WRONG! • Many projects on-going (i.e. QUALIPSO for the quality in the open source environment..) • Plenty of build tools (GUMP, Maven, *-forge, Savanna, etc) • Often open source… • Several testing tools (Pulse, Visual Build, etc) • Often commercial… Open Grid Forum 20 - Manchester 07-11 May 2007
Terminology • Measure: a value (number or category) assigned to an attribute of an entity (e.g. software component) • Measurement: The act or process of assigning a number or category to an entity to describe an attribute of that entity. • Metric: A function whose inputs are software measures and whose output is a single numerical value that can be interpreted as the degree to which software possesses a given attribute that affects its quality. • Perspective: A set of homogenous software attributes that lead to some quality assumptions Open Grid Forum 20 - Manchester 07-11 May 2007
Grid Quality Assurance Certification Model (GQACM ): a 3D QA Model • Let’s suppose A, B, C to be different perspectives • Common QA Standards are Waterfall-like • GQACM uses 3 independent perspectives to provide client-friendly results • Users can be interested in some attributes and less in others.. • So-made perspectives can have sublevels… A B C A C B Open Grid Forum 20 - Manchester 07-11 May 2007
GQACM: Preliminary remarks • GQACM is independent from the ETICS tools • However, any GQACM implementation must use automation – the most useful characteristic of the model is that it can be automatically applied! • GQACM has three perspectives (I.e. independent points of view) to derive the quality degree of a software : • Code • Platforms • Standards C Open Grid Forum 20 - Manchester 07-11 May 2007
The GQACM: Perspectives • Code Perspective • Usual metrics depending on programming paradigm • … to qualify the degree of goodness of the code (static analysis) • Platform Perspective • The type and quantity of different platform (I.e. family of platforms) where software built correctly and can be automatic deployed • Standard Perspective • Software tested for compliance to applicable standards(e.g. BES, JSDL, SRM, WS-I, IPV6) • These perspectives areindependent each other Open Grid Forum 20 - Manchester 07-11 May 2007
Perspectives composition • Code Perspective • Coding Conventions • Code Commenting • Other QA metrics related to the corresponding programming language • Platform perspective • The set of platforms (declared, most used, all available?) • Standard perspective • The set of (available) standards against the compliance is proven. Open Grid Forum 20 - Manchester 07-11 May 2007
Test execution metrics • C1 (method level): • if C is the cyclomatic complexity (of the method) and T is the number of executed tests then RM1 = C/T • C2 (class level): • if CK RFC is the the number of methods which can be invoked from an instance of the class target to answer a message ) and T is the number of executed tests on it then RM1 = RFC/T. • C3 (class level): • if E is the number of events which interact with the class and T is the number of executed tests then RM4 = E/T • C4 (class level): • if CK NOC is the Number Of Children and T is the number of executed tests on the class then RM8 = NOC/T Open Grid Forum 20 - Manchester 07-11 May 2007
Code comment metrics • C5: • if CLOC are lines of comments, then RM5 = CLOC/LOC • C6: • if F is the number of functions and C is the number of comment paragraphs then RM6 = F/C • C7: • Automatic documentation programs use: e.g. doxygen Open Grid Forum 20 - Manchester 07-11 May 2007
Coding convention metrics 1/2 • Only one class definition per header file • Filename = Classname • Filename in lowercase • No cycles in “include” operations • No C instruction (in C++ programming) • Coherent Programming Convention • Curly Brackets positioning • First character in variables names • Lower case in macros names • Coherent use of new lines • Semicolons only at the end of a line Open Grid Forum 20 - Manchester 07-11 May 2007
Coding convention metrics 2/2 • No Never used functions • No Not reachable code paths • No Not defined prototypes • No Never used constants • No Never used macros • No Never used types definitions • No Never used variables • Too frequent “breaks” use • No absence of variables de-alloaction • No Null pointers • Management of one instruction long “if” or one instruction long “cycle” • Shared resources management Open Grid Forum 20 - Manchester 07-11 May 2007
other metrics • Errors correction ability • C7: errors trend between a test and another after corrections • Other software related metrics • (e.g. CK Metrics for OO software) Open Grid Forum 20 - Manchester 07-11 May 2007
GQACM: Users benefits • Users will: • Have a clear picture about the quality and … • …will be able to select components and software of certified quality level • Concretely for different roles: • Developer will be able to certify its software • Integrator will be safe in compose new software starting from existing certified components of the appropriate quality degree • Final User will be sure to use certified software Open Grid Forum 20 - Manchester 07-11 May 2007
Yes, but! • I’m not able to add any overhead to my project • This model (and the capability of automate) will reduce the effort in performing continuous build and tests (e.g. coverage tests) on different releases • How much costs adopting it? • Nothing, the model will be discussed publicly and the final version will be released under open license (e.g. Creative Commons) • The ETICS framework is provided as a service running on a dedicated infrastructure, free of charge for Research Project (until dec 2007) • My organisation is certified ISO/CMMi? • See next slides… Open Grid Forum 20 - Manchester 07-11 May 2007
ISO 9126 • is an international standard for the evaluation of software. • is divided into four parts which address • quality model • external metrics • internal metrics • quality in use metrics. • The quality model established in the first part of the standard, ISO 9126-1, classifies software quality in a structured set of characteristics and sub-characteristics divided into attributes. Open Grid Forum 20 - Manchester 07-11 May 2007
GQACM integration in an ISO 9126 certified organization • Facts: • ISO 9126 define quality attributes . • GQACM support the measure and evaluation of quality metrics. • Hypothesis: • ISO9126 Functionality: adequacy. • ISO9126 asks for correct functions with specific goals. • GQACM may check not dead functions and other coding convention. • ISO9126 Maintainability: all. • ISO9126 asks to develop a software that is easy to analyse, easy to modify, Stable… • GQACM metrics (such as the CK for OO) helps to verify in concrete these requirements Open Grid Forum 20 - Manchester 07-11 May 2007
GQACM integration in an ISO 9126 certified organization • ISO9126 Functionality: accuracy. • ISO9126 asks that a software have to give results according with requirements. • GQACM certification can run functional test (or plug-in external test suits) of declared compliances. • ISO9126 Portability: adaptability, installability • ISO9126 asks OS adaptability and installability for software of certified organizations. • GQACM may test deployment of SW on different platforms (HW+OS) • Our thesis: • ISO9126 quality metrics can be measured and evaluated based on GQACM • Any tool implementing it and can be integrated as supporting ISO9126 adoption Open Grid Forum 20 - Manchester 07-11 May 2007
CMMI • It provides organizations with guidelines for effective organisational processes • It can guide organisational process improvement across a project, a division, or an entire organization • It helps to integrate traditionally separate organizational functions • It sets goals and priorities Open Grid Forum 20 - Manchester 07-11 May 2007
GQACM integration in a CMMi certified organization • Facts • CMM is process oriented (focused on the organisation). • GQACM is product oriented. • Hypotesis: • CMM2 • asks to “control and value” • GQACM propose the measures and metrics to be collected, hence controlling and evaluating specific sw related items • CMM3 • asks to “use internal standards and have a reference model” • GQACM proposes code and implementation conventions (how to organise and structure code, how to define tests, etc…) Open Grid Forum 20 - Manchester 07-11 May 2007
GQACM integration in a CMM certified organization • CMM4 • asks to “have measured and controlled processes using quantitative and statistical techniques” • GQACM propose the continuous collection of quality data to perform trends analysis. • CMM5 • asks to have an “improvement process and quality based on measurement” • GQACM provide numerical reference to set the improvement processes!! • Our Thesis • GQACM is not in contrast with CMMI and can be integrated in organization as a tool to support CMMI adoption Open Grid Forum 20 - Manchester 07-11 May 2007
ETICS B&T tool and GQACM • ETICS: • Can perform many measurements and calculate metrics code perspective • Can build and test software on several distinct platforms platform perspective • Can test the software compliance with standards standard perspective • Can automate all the processes (build, deployment, test) Open Grid Forum 20 - Manchester 07-11 May 2007
Where to find more on ETICS? • ETICS portal: http://eu-etics.org Open Grid Forum 20 - Manchester 07-11 May 2007
Underdevelopment Where to find more on ETICS? • ETICS wiki:https://uimon.cern.ch/twiki/bin/view/ETICS/WebHome • ETICS client getting started https://uimon.cern.ch/twiki/bin/view/ETICS/ClientHowTo • ETICS tutorialshttps://uimon.cern.ch/twiki/bin/view/ETICS/ETICSTutorials Open Grid Forum 20 - Manchester 07-11 May 2007
Conclusions • ETICS provides a multi-platform environment for building, testing and checking the quality of distributed and grid applications • ETICS focus is on automation of builds, tests, reporting, collection and analyse of quality measures … to simplify life when managing complex software management tasks • We want it to be as simple and effective as possible to use. For this we need your feedback: ETICS-QAstudy@cern.ch ETICS-discuss@cern.ch ETICS-support@cern.ch Open Grid Forum 20 - Manchester 07-11 May 2007
Thanks Thanks you for taking the time to learn about ETICS Have a good day Give us feedback http://www.eu-etics.org Open Grid Forum 20 - Manchester 07-11 May 2007