---------------------------------------------------------------------------- The Florida SunFlash S U N E R G Y E M A I L: NEWSLETTER 5 (3 of 3) SunFLASH Vol 45 #15 September 1992 ---------------------------------------------------------------------------- This is from Miyong.Byun@Corp.sun.com (Miyong Byun, User Programs). Because of its size, I have divided it into three parts. This is the third part. -johnj ---------------------------------------------------------------------------- NEWSLETTER 5 September, 1992 Distributed by the Press Relations, Sun Microsystems Computer Corporation, A Sun Microsystems, Inc. Business; all rights reserved. Director of PR: Kay Hart; Sunergy Manager: Larry Lettieri; Managing Editor: Miyong Byun. Contact the Sunergy editors over email at: sunergy_information@Sun.COM. =========================================================================== = CONTENTS - ISSUE #5 = =========================================================================== 1 or 2 indicates (1) in this SunFlash (45.13) or (2) in the next (45.14) or (3) the next (45.15) 1 1ROADMAPS TO RESOURCES *2* Book List 1 1 *3* New Book: "Global Software" by Dave Taylor 1 1 *4* "Hi-Tech Nomadness" Newsletter 1 1 1TECHNICAL TOPICS *5* Tips -N- Tricks: How to Program Your Function 1 Keys 1 1 *6* "SunWorld" Magazine: "The Myth of Ease of Use" 1 2 2 *7* Solaris 2.0 (White Paper) 2 2 3NEW PRODUCTS *8* SunPro - C Transition Pack 3 3 *9* SunExpress Announces Lower U.S. Prices 3 3 3SIG NEWS *10* SunPro Article:"Using Test Coverage Tools 3 Effectively" 3 3 3INDUSTRY NEWS *11* News From SPARC International 3 3 *12* "Lotus Shows The Way" 3 ("SunWorld" Magazine Reprint) 3 3 3UPCOMING EVENTS *13* Tradeshow Calendar --------------------------------------------------------------------------- - NEW PRODUCTS - --------------------------------------------------------------------------- ********************************** *8* SunPro -- C Transition Pack * ********************************** SunPro(TM) announces the availability of the C Transition Pack - a combination of compilers and development tools - to ease migrating C applications from Solaris 1.0 to Solaris 2.0. The Transition Pack is really 3 sets of products: (1) a compiler and development tools for Solaris 1.0, (2) a compiler and development tools for Solaris 2.0, and (3) a coupon for a free upgrade to the next release of the Solaris 2.0 development environment. Through September 30, 1992, the C Transition Pack will be specially priced at $995, a savings of over 70% off the regular list price. For more information or to place an order, call SunExpress(TM) at 1-800-USA- 4SUN. ********************************************** *9* SunExpress Announces Lower U.S. Prices * ********************************************** SunExpress has lowered its U.S. prices to competitive "street" levels. So what you see is what you pay for -- quality products at everyday low prices. You'll like our revolutionary attitude as well. Every member of the SunExpress team is focused on one goal -- to provide the best products and service for your dollar. Best of all, you get genuine Sun products, delivered directly from the source in 5 business days or less, and much more: * 800-number Service -- Call 800-USE-SUNX (800-873-7869) from 9am to 8pm EST. Friendly product specialists will help you select the right products and take your order. Or fax your order toll-free (800-944-0661 for software, 800-955-1821 for hardware). * Competitive Pricing -- pricing that saves you money. * Free Freight -- on orders of $500 or more, we pay the freight. * 30-day No-hassle Return Policy -- get SunExpress quality and the assurance that we will make things right -- whatever it takes. In the next few months, the revolution will continue. Look for exciting new hardware and productivity-boosting software products -- such as Lotus(R) 1-2-3, Corel Draw, Informix(R) WingZ(TM) -- that bring the revolution right into your business. Your new SunExpress catalog is filled with the details. Send your catalog request to SunExpress at sunexpress@sun.com or call 800-USE-SUNX. --------------------------------------------------------------------------- - SIG NEWS - --------------------------------------------------------------------------- ************************************************************** *10* SunPro Article:"Using Test Coverage Tools Effectively * ************************************************************** The SunPro SIG is a two-way channel for information about software development on the Solaris platform. If you would like more information about joining this SIG, send a request to SunproSIG@Sun.Com. The following is a condensed version of an article that appeared in the Spring SunPro newsletter. "USING TEST COVERAGE TOOLS EFFECTIVELY" by Martin Weiss Okay, the software has been written and some tests have been run. Now you're faced with questions such as: * How complete was the testing? * How sure are you that serious bugs won't be found once the software is in the user's hands? * Are you sure your tests are testing what you think they are? * What other tests need to be written? Using test coverage tools can help answer these questions. Test coverage tools gather usage statistics on programs as they are being executed. This is usually accomplished by "instrumenting" the code while it is being compiled. This means that the compiler will add some code of its own that will, when executed, record those parts of the source code that were traversed. What gets recorded differs from tool to tool. Most tools record the number of times each statement or block of statements is invoked. A few record the full path taken through a module. These tools often produce an annotated listing of the source code, clearly showing what was covered by the tests. Gaps In Coverage By analyzing the annotated code created by these tools, you can easily identify those portions of the source code that were not exercised. These gaps can occur for a variety of reasons: * Tester's oversight. Not testing all the basic functionality, error conditions, or boundary conditions that can occur in a program. * Dead code. A routine that is never referenced by another routine. This often happens with code that has been around for awhile. When modifying code, if the only reference to a routine is removed or modified, that routine is orphaned. Unless it is necessary to keep the orphaned routine around for historical reasons, it is best to remove it. If it remains, it will only serve to confuse anyone who has to look at the code later. * Flow problems with the code. As a simple example, we've all made the mistake of misusing or mistyping the conditional equality operator in C, such as: j = 100; ... if (i = j) foo(); else bar(); when what was meant was: j = 100; ... if (i == j) foo(); else bar(); If your testing didn't happen to catch this, test coverage tools will. The annotated source listing will clearly note that the line "bar();" was never executed. * Hidden features. Sometimes this problem can occur for legitimate reasons, such as when a developer uses an undocumented option or environment variable to enable debugging. Unfortunately, this usually happens because specifications are incomplete or out of date with respect to the code. Finding Errors in the Test Suite There are often errors in the test suite itself. Testers are no better than developers in writing bug-free code. Checking the annotated source after the test has been run with instrumented executables can confirm that you're testing what you think you're testing. Risk Estimation Knowing how much of the source code is covered by your test suite can help you estimate the risk of releasing software to your users. Also, if your testing resources are constrained, you can use coverage percentages as an indicator of when to move your testing resources onto another area. Lookouts As with any tool, there are some "gotchas" to beware of when you use test coverage tools: * Don't assume that 100% test coverage implies that you have a perfect product. Just because each line of code is executed doesn't mean that the code is doing the right thing. * 100% test coverage is rarely achievable without a Herculean effort. Some paths through the code may be too difficult to contrive. If the best you achieve is 90% coverage, make sure the remaining 10% is covered by some other means, such as a detailed code inspection. * Don't blindly set identical test coverage goals for all of your software. Some components may be more critical than others. Concentrate your testing on the high risk areas, setting higher test coverage goals where it makes sense. * Test coverage tools can't be used on all products. The act of instrumenting your code will cause a performance degradation because, after all, the instrumented program is doing more work. Some software, such as certain communications or realtime data collection, is so performance-critical that the use of test coverage tools is prohibitive even under testing conditions. Coverage tools that instrument the code at compile time may prove incompatible with other compiler options. This is the case with the UNIX utility tcov. If you want the compiler to instrument your code for test coverage, you will not be able to use the -g option, which produces symbol table information for use with dbx and dbxtool. If you are not currently using test coverage tools as part of your quality assurance process, give it some serious consideration. At SunPro, our use of these tools has helped us assess the quality of our products, determine where best to concentrate our testing efforts, and point out where additional testing would be fruitful. We consider the value of these tools to be more than worth the effort. --------------------------------------------------------------------------- - INDUSTRY NEWS - --------------------------------------------------------------------------- ************************************** *11* News From SPARC International * ************************************** ** Next Generation of the SPARC Architecture Unveiled SPARC(R) International (SI) announced the availability of SPARC Architecture Version 9. Version 9 contains new instructions, enhanced support for the UNIX operating system, and continued pioneering in multiprocessor support. Version 9 offers complete 64-bit extensions to the SPARC Architecture Version 8. Version 8 and Version 9 will maintain application software compatibility through conformance to the SPARC Compliance Definition (SCD) 2.X. Concurrent with the Architecture Committee's development of Version 9, SI is developing the Version 9 ABI and is now cooperating with UNIX International to adopt that work. This work represents an extension of the Version 8 ABI, enabling both Version 8 and Version 9 binaries to run on any Version 9 compliant machine. ** SPARCBuilders Architecture Developers Conference As part of its SPARCBuilders(TM) Program, SI is planning the first of a series of hardware and software training conferences for developers of SPARC-based hardware and software products. The Developers Conference will educate developers on maximizing their use of Version 8 technology in the short term, and provide the first level of formal instruction to engineers tasked with developing products based on Version 9 technology. The SPARCBuilders Architecture Developers Conference, targeted for October 1992, will be taught by distinguished SPARC architects and engineers from leading SPARC systems and semiconductor manufacturers. ****************************** *12* "Lotus Shows The Way" * ****************************** The following is a reprint from "SunWorld" Magazine. "Lotus Shows The Way" Editorial by Michael E. McCarthy Editor-in-Chief, "SunWorld" Magazine If ISVs and users jump on the bandwagon, the UNIX software business could take off. And it's about time! Lotus Development, which is in the process of converting its entire product line to the UNIX system, has announced (SunWorld, Aug. 1992, page 26) plans to choose specific standards in five areas: network license management, help engine, printing, live linking, and object linking/embedding. Each of these areas is currently subject to competing standards that make life heck for ISVs trying to produce cross-platform products. Lotus' decision to bull through the UNIX standards bottleneck by brute force will, I predict, prove to be fundamental to the UNIX market's viability. If it works, that is; and it will work if you join me in greeting it with the enthusiasm it deserves. Standards are more talk than action in this market because it suits the competitive strategies of most of the players to keep real standards away from the users. In the PC market, de facto hardware standardization took a mere two or three years following IBM(R)'s decision to use stock components, and to allow Microsoft(R) to own and sell the operating system to all comers. Users demanded IBM compatibility, and Microsoft owned the only competitive operating system; the result was an explosion of both software and hardware offerings. In the UNIX market, by contrast, each hardware vendor has his own operating system variant, including all the plumbing vital to software developers. This means considerable trouble and expense to software makers trying to port an application to a neighboring, similar, but underneath the surface very different, environment. This means less software, while Microsoft and the DOS clones continue to dominate the market with cheap hardware and a crazy-quilt-patched file loader they call an OS. The complaints of UNIX customers are as the sound of tinkling brass to the UNIX hardware vendors. This could change if Lotus gets its way. Its applications lineup -- Notes, Ami Pro, and Freelance Graphics, not to mention 1-2-3 -- are highly desirable. Lotus' threat to impose basic standards in areas such as help, printing, and interapplication communications should be immediately supported by every ISV who has ever contemplated developing in or porting to UNIX. Joining Lotus will make UNIX a more profitable environment. Users should support this initiative too, because it will enrich their choices tremendously. It's about time. --------------------------------------------------------------------------- - UPCOMING EVENTS - --------------------------------------------------------------------------- *************************** *13* Tradeshow Calendar * *************************** Although Sun does not participate in all of the following shows, we present this comprehensive list of computer industry tradeshows for your planning purposes. If you know of other shows or events that would be of interest to our readers, please send your suggestions to the Sunergy staff (see the top banner of this newsletter for an email address). SHOW DATES (92) SHOW NAME LOCATION September 14-18 COMDEX '92 Sao Paulo, Brazil September 14-18 UNIX EXPO '92 Oslo, Norway September 15-17 COMPUTERGRAPHIK '92 Rostock, Germany September 16-18 TN '92 Paris, France September 16-18 SOLUTIONS UNIX Paris, France September 21-22 COMPUTING & COMM. FAIR Ottawa, Canada September 21-25 SIBO Brussels, Belgium September 22-24 SUNWORLD EXPO Birmingham, UK September 22-24 GUUG '92 Wiesbaden, Germany September 22-24 UNIX EXPO New York, NY September 23-25 SEYBOLD San Francisco, CA September 23-25 SUNEXPO Stockholm, Sweden October 19-22 ISA Houston, TX October 20-22 JICL Paris, France October 20-23 SYSTEC '92 Munich, Germany October 25-29 SEG New Orleans, LA October 28-31 EDUCOM Baltimore, MD October 29-30 MULTIMEDIA CONGRESS Heidelberg, Germany November 3-4 DOAG Fellbach, Germany November 10-12 AUTOFACT Detroit, MI November 11-13 UNIFORUM Stockholm, Sweden November 16-20 COMDEX Las Vegas, NV November 16-17 SUNWORLD EXPO/EUUG Wiesbaden, Germany December 9-11 UNIX FAIR '92 Tokyo, Japan ************************************************************************** If you'd like to join Sunergy, simply fill out and return the attached sign-up form. --------------------------------cut here---------------------------------- *****SUNERGY SIGN-UP FORM***** NAME:__________________________________________________________ Title:__________________________________________________________ COMPANY:__________________________________________________________ ADDRESS:__________________________________________________________ __________________________________________________________ CITY:__________________ STATE:_______ ZIP/POSTAL CODE__________ COUNTRY:___________________________ PHONE:___________________________ FAX:_________________________ E-MAIL:___________________________ RETURN COMPLETED FORM TO: Sun Microsystems Computer Corporation Attn: Sunergy Support Center 2550 Garcia Avenue, M/S PAL1-505 Mountain View, CA 94043-1100 sunergy_information@Sun.COM 415/336-5847 ======================================================================== c 1992 Sun Microsystems, Inc. Sun, Sun Microsystems, the Sun logo, Solaris, SunSoft, SunOS, SunWorld, AnswerBook, SunPro, SunExpress, and OpenWindows are trademarks or registered trademarks of Sun Microsystems, Inc. Sunergy is a service trademark of Sun Microsystems, Inc. All SPARC trademarks, including the SCD Compliant logo, are trademarks or registered trademarks of SPARC International, Inc. SPARCstation is licensed exclusively to Sun Microsystems, Inc. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc. UNIX and OPEN LOOK are registered trademarks of UNIX System Laboratories, Inc. Apple and Macintosh are registered trademarks of Apple Computer Inc. Lotus is a registered trademark of Lotus Development Corporation. Informix Wingz is a registered trademark of Informix Software, Inc. IBM is a registered trademark of International Business Machines Corporation. Microsoft is a registered trademark of Microsoft Corporation. All other product or service names mentioned herein are trademarks of their respective owners. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ For information send mail to info-sunflash@sunvice.East.Sun.COM. Subscription requests should be sent to sunflash-request@sunvice.East.Sun.COM. Archives are on solar.nova.edu, paris.cs.miami.edu, uunet.uu.net, src.doc.ic.ac.uk and ftp.adelaide.edu.au All prices, availability, and other statements relating to Sun or third party products are valid in the U.S. only. Please contact your local Sales Representative for details of pricing and product availability in your region. Descriptions of, or references to products or publications within SunFlash does not imply an endorsement of that product or publication by Sun Microsystems. John McLaughlin, SunFlash editor, flash@sunvice.East.Sun.COM. (305) 776-7770.