A Review Framework for Open Source Oriented Software
Mishra, Sachin Raj (2013)
Mishra, Sachin Raj
2013
Master's Degree Programme in Information Technology
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2013-05-08
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201305171138
https://urn.fi/URN:NBN:fi:tty-201305171138
Tiivistelmä
Software Quality Assurance is an essential yet challenging process which consists of several milestones. There exist several Quality assurance models and frameworks (both fixed and flexible) for reviewing software of any type. Fixed models consist of fixed set of quality attributes and their measures, whereas for the flexible model the attributes are decided or chosen based on requirement set of the product. Earliest models like McCall’s, Boehm’s, FURPS and ISO/IEC 9126 are examples of fixed models. Whereas, Prometheus model developed in 2003 is an example of flexible model. It means, ever since 1977, there have been quite a lot of QA models, frameworks and standards published, in order to ease the vigorous process of QA. Most of these models are product-centric. Most of the product-centric QA models are the derived work of McCall’s model, Boehm’s model, Garvin’s model, FURPS framework and ISO/IEC 9126 standard in one way or another (in lower or higher degree). Hence, these primitive models are somehow the base models. For several reasons, not all the base models are completely applicable; not at least to Open Source Software (OSS). OSS is a movement or a philosophy where software and its binary are freely available to everyone allowing modification or redistribution.
There are 3 major dimensions through which OSS could be observed; as a Community, as a Licensing model and as a development Method. There are several widely adopted trends followed in typical OSS development. One of which is to present a mature enough product to a community and ask them to contribute in different ways. Here the mature product includes a set of initial design, deliverables including requirements specifications and available source code (if any). In this typical trend, the community members are geographically diverse or distributed. In contrary to the typical development setting there exists a varied development setting of OSS. In this setting, the development starts and continues as in-house project by a small group of core developers who were solely responsible for designing the software, choosing the development settings, choosing the licenses, implementing, doing the market research, testing the software, registering it on public forge and finally releasing the software. The software is, at the end, publicized to the open source community as OSS. The initial development does not include anyone else than the core developers. These core developers are not geographically diverse. These core developers or the project team uniquely owns the right for the initial state of the software. For these variations we call this type of software Open Source Oriented Software (OSOS). There subsist some differences; therefore, the available QA models for OSS are not completely applicable for OSOS.
In order to fill this gap, we propose a framework which could be used to review software adopting OSOS development setting. We called this framework LCM framework. The reason behind the name is the three aforementioned perspectives towards OSS namely Licensing, Community and Method. In order to attain this framework, the base models are comprehensively analyzed towards our requirements. LCM framework consists of quality attributes and sub-attributes as the measures. These attributes are then categorized as Community Compliance Attributes, Licensing Compliance Attributes and Method Compliance Attributes.
In order to assure the result, LCM framework was used over OSOS named Solution to Open Land Administration (SOLA) developed by United Nation Food and Agriculture Organization. Four different versions of SOLA application were reviewed using the LCM framework. The results encountered for each review helped improve the quality of later versions of SOLA application.
The results of SOLA review are divided into three parts; behavioral analysis results for, Community Compliance Attributes, Licensing Compliance Attributes and Method Compliance Attributes. Static analysis (code analysis) on the other hand was the basis of comparison for most of the behavioral analysis results for Community Compliance Attributes and Licensing Compliance Attributes. The static review was performed based on the data collected by Sonar, which is an open source quality management platform, dedicated to measure source code quality.
The LCM framework when used over an open source project yield improving results. Therefore, it could be said that LCM framework is adoptable to all the software developed with OSOS development setting. However, the choice of attributes according to the stage of development is different for software with different requirements.
There are 3 major dimensions through which OSS could be observed; as a Community, as a Licensing model and as a development Method. There are several widely adopted trends followed in typical OSS development. One of which is to present a mature enough product to a community and ask them to contribute in different ways. Here the mature product includes a set of initial design, deliverables including requirements specifications and available source code (if any). In this typical trend, the community members are geographically diverse or distributed. In contrary to the typical development setting there exists a varied development setting of OSS. In this setting, the development starts and continues as in-house project by a small group of core developers who were solely responsible for designing the software, choosing the development settings, choosing the licenses, implementing, doing the market research, testing the software, registering it on public forge and finally releasing the software. The software is, at the end, publicized to the open source community as OSS. The initial development does not include anyone else than the core developers. These core developers are not geographically diverse. These core developers or the project team uniquely owns the right for the initial state of the software. For these variations we call this type of software Open Source Oriented Software (OSOS). There subsist some differences; therefore, the available QA models for OSS are not completely applicable for OSOS.
In order to fill this gap, we propose a framework which could be used to review software adopting OSOS development setting. We called this framework LCM framework. The reason behind the name is the three aforementioned perspectives towards OSS namely Licensing, Community and Method. In order to attain this framework, the base models are comprehensively analyzed towards our requirements. LCM framework consists of quality attributes and sub-attributes as the measures. These attributes are then categorized as Community Compliance Attributes, Licensing Compliance Attributes and Method Compliance Attributes.
In order to assure the result, LCM framework was used over OSOS named Solution to Open Land Administration (SOLA) developed by United Nation Food and Agriculture Organization. Four different versions of SOLA application were reviewed using the LCM framework. The results encountered for each review helped improve the quality of later versions of SOLA application.
The results of SOLA review are divided into three parts; behavioral analysis results for, Community Compliance Attributes, Licensing Compliance Attributes and Method Compliance Attributes. Static analysis (code analysis) on the other hand was the basis of comparison for most of the behavioral analysis results for Community Compliance Attributes and Licensing Compliance Attributes. The static review was performed based on the data collected by Sonar, which is an open source quality management platform, dedicated to measure source code quality.
The LCM framework when used over an open source project yield improving results. Therefore, it could be said that LCM framework is adoptable to all the software developed with OSOS development setting. However, the choice of attributes according to the stage of development is different for software with different requirements.