Article View: comp.std.unix
Article #863Re: POSIX - Caving In Under Its Own Weight (Long)
From: Chuck Karish
Date: Thu, 24 Dec 1992 03:03
Date: Thu, 24 Dec 1992 03:03
147 lines
6848 bytes
6848 bytes
Submitted-by: karish@pangea.Stanford.EDU (Chuck Karish) In article <1halvbINN9kd@ftp.UU.NET> stephe@usenix.org (Stephen R. Walli) writes, as part of a well-considered analysis that points out some critical problems: >I think POSIX is caving in under its own weight. I agree. >Test Method Madness >Now, a standard cannot offically exit balloting without having a test >method specification that is also a standard. This instantly sets up >a directly competing body of text to the original standard. I've been under the impression that the test methods must always defer to the semantics defined in the base document. The competition for developers' attention is real! >Test methods standards will become the annointed specification for the >test suite to demonstrate conformance by organisations with the funds >or market presence to demand as much. Implementations can hit the >narrower mark of the test suite (embodying the standard test methods) >to naively certify rather than hit the standard itself. This is always the case, as far as I can tell. Implementations of a standard are tested (and used!) according to their behavior. It is problematic whether aspects of the base specification that are not testable belonged there in the first place. >If you don't >realise the subtle and nasty differences that can appear, spend some >time with the POSIX.1 standard (IEEE Std 1003.1- 1990), and with its >newly declared standard test methods (IEEE Std 1003.3.1-1992). It's to be called 2003.1-1992. Is the problem with the many errors in 2003.1 or with the philosophy of certification based only on testable behavior? My observation has been that the nasty differences arise because the writers of the base standard don't consider carefully enough how the standard will be implemented. The discipline of considering test methods helps focus attention on these problems before errors in the standards are immortalized as hacks in the implementations. >Now what happens when someone requests an interpretation of a standard >with its test methods? In the past, people who wondered about the meaning of an aspect of a base standard asked the relevant interpretations committee for a ruling. I don't see that the situation is much different now. Each assertion in a test methods document is a very specific statement about the meaning of the base standard. The interpretations committee for the base standard should be able to assess assertion accuracy easily. >If the request is leveled against the base, what guarantees are there >that the test methods, i.e. a separate standard, will be kept >synchronized? People who use test suites will either demand it or will volunteer and do it themselves. From a practical viewpoint, it's a tremendous amount of work for a certifying authority to continually make allowances for errors in test methods; it's much easier to fix them. This requires that an active ongoing interpretation and maintenance process be supported. >Do test methods need to be standards? If the test methods aren't standardized, test suites will become de facto standards without adequate review. I don't see a viable alternative to standardizing the test methods. I hope we can continue to move away from the practice of hacking our implementations to work around inadequacies in test suites, just as every implementation of a specification no longer has to be a bug-for-bug clone of a reference implementation now that we have a process to standardize specifications. >Testing is >expensive, but the market ultimately protects itself. What has been >done in the TCP/IP space? (If you don't think TCP/IP is a successful >widely implemented specification, stop reading now.) This example is not completely analogous to the POSIX operating system standards. Communication systems are worthless without complete interoperability, so the marketplace is quite efficient in requiring conformance. Move away from that a bit and look at specifications like SCSI, NFS, and the One True GUI, and you'll see that the marketplace does not always cause implementors to see the need to compromise and converge. >What about the C >language? No one specified a set of test methods for the ANSI C >standard. People in the know wanted to see how to test the C standard, >and through a lot of hard work built the Plum-Hall test suite. The >U.S. government created a FIPS for C, and chose an available suite. >There were no test methods for this work. No added burden on the >volunteer standards community to respecify itself. Here's where politics become a problem. It's difficult to design test methods and implement a test suite that do not favor one implementation over another. Moreover, it's expensive: sufficiently expensive that it's too risky to develop a test suite that may not be accepted. This is problematic even with standardized test methods. [ The solution: don't ballot on test methods. ] >Ballot groups could concentrate on the real specification in front of >them. Repeat again: Bad test methods standards will be dangerous in >the marketplace. Without the balloting, there won't be any test methods standards. And if we think back to the misgivings expressed above about naively certifying against test suites rather than against standards, we'll come to expect the bad test methods to drive out the good. The question of who will be willing to take on all the work of doing the interpretations is a good one. The 1003.1 interpretations folks will be swamped for some time to come with questions about the accuracy of 2003.1 assertions. The situation would be an absolute nightmare if they were in the position of having to answer corresponding sets of questions relating to multiple test methods specifications that had not been through a review process. It's much more efficient to get a standard right the first time than by patching it through the review and maintenance process. Without balloting on test methods, we'll wind up with more wasted effort and less to show for it, both in the base standards and in the test methods. -- Chuck Karish karish@mindcraft.com (415) 323-9000 x117 karish@pangea.stanford.edu Volume-Number: Volume 29, Number 90
Technical Details
Message-ID:
<1hb9a6INNi8c@ftp.UU.NET>Path:
arc1-ca.pugleaf.net!sparky!uunet!not-for-mailReferences:
<1halvbINN9kd@ftp.UU.NET>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!not-for-mail From: karish@pangea.Stanford.EDU (Chuck Karish) Newsgroups: comp.std.unix Subject: Re: POSIX - Caving In Under Its Own Weight (Long) Date: 23 Dec 1992 19:03:34 -0800 Organization: Mindcraft, Inc. Lines: 147 Sender: sef@ftp.UU.NET Approved: sef@ftp.uucp (Moderator, Sean Eric Fagan) Message-ID: <1hb9a6INNi8c@ftp.UU.NET> References: <1halvbINN9kd@ftp.UU.NET> NNTP-Posting-Host: ftp.uu.net X-Submissions: std-unix@uunet.uu.net