From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,8b0e2b88eb8ee971 X-Google-Attributes: gid103376,public From: mfb@mbunix.mitre.org (Michael F Brenner) Subject: Re: errors needed Date: 1997/06/18 Message-ID: <5o8vut$jje@top.mitre.org>#1/1 X-Deja-AN: 249355392 References: <19970618071701.DAA22371@ladder02.news.aol.com> Organization: The MITRE Corporation, Bedford Mass. Newsgroups: comp.lang.ada Date: 1997-06-18T00:00:00+00:00 List-Id: > I am currently working on a online repository of software > testing examples for my university, and am in desperate > need of Ada sources. A little more information, please, what kind of bug testing are you researching? I can see several types of bugs which might be researched: specification violation, performance inadequacy, lack of flexibility or maintainability, bug in a tool, link failures, integration errors, semantic errors, syntax errors, and errors which Ada catches at compile time. SPECIFICATION VIOLATION occurs when programs seem to work, but do not fulfill their requirements; this can happen in the several ways: failure to provide a back trace of an execution failure, wrong algorithm, incorrect algorithm, wrong answer, failure to do what the requirement stated, failure to meet precondition, failure to establish postcondition, failure to maintain the invariant condition, using an uninitialized object, invertible function which does not quite invert, objects out of range, numeric overflow, unhandled exceptions, unintended unreachable states, and the evile programmer-off-by-one error. PERFORMANCE INADEQUACIES include: not running fast enough, failure to meet deadline, failure to terminate in a finite amount of time (loop or recursion) failure to give user an estimate of time it will take, failure to give user click response in a quarter of a second, failure to give user status of long operation, invalide estimate of the order of magnitude of an operation, memory leakages. LACK OF FLEXIBILITY OR MAINTAINABILITY includes: too much coupling, too little cohesion, too much aliasing, bugs inserted by maintainers, not having hypertext on-line-searchable documentation. BUGS IN A TOOL include: design features that are unpopular or inconvenient, slow code generation, generating slow code, bulky code generation, bulky run time library, failure to optimize away constant calculations, lack of tail recursion optimization, generating code for unchecked conversions or attributes, compiler bugs, debugger. LINK FAILURES include: addressing code before it is elaborated, importing non-existent code, calling something by the wrong name. INTEGRATION ERRORS include: requirements creep, untested paths through the code, protocol vioations. SEMANTIC ERRORS include: type violations, subtype violations, nesting violations, using non-existent objects or methods. SYNTAX ERRORS include: typos, (shhh!) stylistic errors. ERRORS which Ada catches at COMPILE time include: all syntax and semantic errors, some range, link, performance, integration errors, and flexibility errors, etc. I would be interested if anybody else thinks of any other categories of errors to add to this list, since I too research bugs, bug testing, and bug removal.