home *** CD-ROM | disk | FTP | other *** search
- Path: 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
-
- 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
-