Computing Reviews

OSS reliability measurement and assessment
Yamada S., Tamura Y., Springer International Publishing,New York, NY,2016. 185 pp.Type:Book
Date Reviewed: 10/24/16

Free and open-source software (FOSS) projects are often a source of great expectation and acceptance amongst their users. An attempt is made here to explore whether reliability aspects of open-source software projects could be measured or assessed using quantitative methods.

FOSS projects often follow a highly distributed model of development and testing, carried out by the developer and the user communities. The success of such a project development model is evident from the market share of the OS segment of smartphones, which is currently dominated by Android. A few web server software solutions like Apache or Nginx also have a high rate of acceptance. All of these are indirect evidence of the existence of high reliability and superior quality in free and open-source software projects, where finer aspects could have been examined better using appropriate qualitative methods.

A reading of the book confirms how an anomaly of having a wrong method compounds the process of analyzing open-source software projects, on multiple counts, listed herein.

First, the reasons for preferring a quantitative analytical method in a software development process that is widely different from conventional processes involved in production are left unexplained. In open-source software projects, users or developers preferring to provide suggestions, criticisms, software flaws, or doubts would have to resort to submitting formal bug reports. In the examples cited in this book, these bug reports are treated as if these were reports on software errors, which is a flawed approach, rendering most of the analytics insignificant.

Second, most of the software projects are packaged and distributed in different flavors like Debian, Fedora, Ubuntu, Mint, and so on, all of which have their own ways and means of maintaining different branches, from experimental to testing, to unstable and stable--a project has to undergo extensive testing to get promoted to a more stable branch. The affirmation by the authors that there is no testing of OSS (pp. 9, 27, 33, 39, 45, and 53) reveals their ignorance about how the testing, experimental, and stable branches of almost all popular flavors of free software distributions are managed and released.

Third, the confusion with analytics further increases with choice of examples of Xfce and Firefox OS. Xfce, for instance, was released initially in 1996, whereas the status of the project picked up for study is from its release in the year 2004, when it had been under active development. Similarly, why an unpopular embedded OS like Firefox OS was chosen as another case for study, when Android OS is dominating the smartphone OS segment, promises to antagonize any reader.

Fourth, a crucial discussion on a topic involving quality management would be of immense interest for those involved in development or production, but the authors feel that this book would be useful for a different audience--those studying reliability assessment at the undergraduate and graduate level--which is very surprising.

Fifth, an analysis of the chapters seems to suggest that the authors were too careless in drafting the introductions for most of the first ten chapters. The paragraphs are replete with strange contradictory claims, grammatical errors, and repetitions.

The following paragraph appears at least eight times (pp. 9, 27, 33, 39, 45, 53, 65, and 75) in as many chapters:

The open-source project contains special features so-called software composition by which several geographically-dispersed components are developed in all parts of the world. The successful experience of adopting such open-source projects includes Apache HTTP server, MySQL database server, Firefox Web browser and GNU/Linux operating system, etc. However, the poor handling of quality problem and customer support has limited the progress of OSS, because the development cycle of OSS has no testing phase.

By affirming the successful adoption of many open-source projects, and then contradicting it in the very next sentence by saying “limited the progress of OSS,” readers are guaranteed to be perplexed.

Finally, large portions from various sections are repeated verbatim across multiple chapters. For instance, sections on stochastic differential equation modeling, the method of maximum-likelihood, and software reliability assessment measures appear in chapters 4, 6, and 9 (pp. 28 to 31, 40 to 43, and 66 to 69). The bibliographic contents also are very weak and shallow, with more self-referencing papers, some of which have been published in non-peer-reviewed journals. All these factors make this book a great disappointment, despite its highly relevant title.

Reviewer:  CK Raju Review #: CR144864 (1701-0012)

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy