automated theorem proving in high-quality software design (schumann).pdf · automated theorem...

18
JOHANN SCHUMANN AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN 1. INTRODUCTION The amount and complexity of software developed during the last few years has increased tremendously. In particular, programs are being used more and more in embedded systems (from car-brakes to plant-control). Many of these applications are safety-relevant, i.e. a malfunction of hardware or software can cause severe damage or loss. Tremendous risks are typically present in the area of aviation, (nuclear) power plants or (chemical) plant control (Neumann, 1995). Here, even small problems can lead to thousands of casualties and huge financial losses. Large financial risks also exist when computer systems are used in the area of telecommunication (telephone, electronic commerce) or space exploration. Computer applications in this area are not only subject to safety considerations, but also security issues are important. All these systems must be designed and developed to guarantee high quality with respect to safety and security. Even in an industrial setting which is (or at least should be) aware of the high requirements in Software Engineering, many incidents occur. For example, the Warshaw Airbus crash (Neumann, 1995), pg. 46, was caused by an incomplete requirements specification. Uncontrolled reuse of an Ariane 4 software module was the reason for the Ariane 5 disaster (Lions et al., 1996). Some recent incidents in the telecommunication area, like illegal “cloning” of smart-cards of D2- GSM handies (Spiegel, 1998), or the extraction of (secret) passwords from German T-online users (c’t, 1998) show that also in this area serious flaws can happen. Due to the inherent complexity of computer systems, most authors claim that only a rigorous application of formal methods in all stages of the software life cycle can ensure high quality of the software and lead to real safe and secure systems. In this paper, we will have a look, in how far automated theorem proving can contribute to a more widespread application of formal methods and their tools, and what automated theorem provers (ATPs) must provide in order to be useful. We will justify our observations with results of case studies, most of which have been carried out with the theorem prover (Letz et al., 1992; Goller et al., 1994).

Upload: others

Post on 18-Mar-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN (Schumann).pdf · AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN 1. INTRODUCTION The amount and complexity of

JOHANNSCHUMANN

AUTOMATED THEOREMPROVINGIN HIGH-QUALITY SOFTWARE DESIGN

1. INTRODUCTION

The amountand complexity of software developedduring the last few yearshasincreasedtremendously. In particular, programsarebeingusedmore and more inembeddedsystems(from car-brakesto plant-control).Many of theseapplicationsaresafety-relevant,i.e. a malfunctionof hardwareor softwarecancauseseveredamageor loss.Tremendousrisksaretypically presentin theareaof aviation,(nuclear)powerplantsor (chemical)plantcontrol (Neumann,1995). Here,evensmallproblemscanleadto thousandsof casualtiesandhugefinancial losses.Largefinancialrisks alsoexist whencomputersystemsareusedin the areaof telecommunication(telephone,electroniccommerce)or spaceexploration.Computerapplicationsin thisareaarenotonly subjectto safetyconsiderations,but alsosecurityissuesareimportant.

All thesesystemsmustbedesignedanddevelopedto guaranteehigh quality withrespectto safetyandsecurity. Evenin anindustrialsettingwhichis (or at leastshouldbe) awareof the high requirementsin SoftwareEngineering,many incidentsoccur.For example,theWarshaw Airbuscrash(Neumann,1995),pg. 46,wascausedby anincompleterequirementsspecification.Uncontrolledreuseof an Ariane 4 softwaremodulewas the reasonfor the Ariane 5 disaster(Lions et al., 1996). Somerecentincidentsin thetelecommunicationarea,like illegal “cloning” of smart-cardsof D2-GSM handies(Spiegel, 1998),or the extractionof (secret)passwordsfrom GermanT-onlineusers(c’t, 1998)show thatalsoin thisareaseriousflawscanhappen.

Dueto theinherentcomplexity of computersystems,mostauthorsclaimthatonlya rigorousapplicationof formal methodsin all stagesof the softwarelife cycle canensurehigh quality of thesoftwareandleadto real safeandsecuresystems.In thispaper, wewill havea look, in how farautomatedtheoremproving cancontributeto amorewidespreadapplicationof formal methodsandtheir tools,andwhatautomatedtheoremprovers (ATPs) must provide in order to be useful. We will justify ourobservationswith resultsof casestudies,mostof whichhavebeencarriedoutwith thetheoremprover

����������(Letzetal., 1992;Golleretal., 1994).

Page 2: AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN (Schumann).pdf · AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN 1. INTRODUCTION The amount and complexity of

JOHANNSCHUMANN

2. FORMAL METHODSAND DEDUCTION

Formalmethodsin generalreferto theuseof techniquesfrom logic anddiscretemath-ematicsin specification,designandconstructionof computersystemsandsoftware(Kelly, 1997).Formalmethodsarebasedonlogic andrequiretheexplicit andconcisenotationof all assumptions.Reasoningis performedby a seriesof inferencestepsoftheunderlyinglogic (formalproof).

Formalmethodscanbeappliedduringvariousstagesof thesoftwarelife cycleandon different levels of “formality”. (Kelly, 1997),pg. 7 distinguishesbetweenthreelevelsof formalization:on thelowestlevel, mathematicalconceptsandnotationsareusedto expressthe requirementsandassumptions.However, the analysis(if thereis any) is only performedin an informal way. On the secondlevel, formal specifi-cationlanguagesarelocated. Also basedon mathematicalconcepts,the underlying(denotationalor operational)semanticsof the specificationlanguageallows to per-form formal reasoning.On this level, we find the classicalspecificationlanguageslikeZ, VDM, andothers,somewith computersupport(likesyntax-controllededitors,type-checkers,or simulators). Finally, the third level concernsformal specificationlanguageswith a comprehensiveenvironmentincluding(automated)theoremproversandproofcheckers.

Of course,theeffort spentonformalmethodssubstantiallyincreasesasthelevel offormalizationrises.However, for thedesignof High-QualitySoftware,aconsiderablelevel of formal reasoning(with computersupport)is necessary. Only then, evenintricateerrorscanbedetected,andsafetyandsecuritypropertiescanbeguaranteed.Sucha level usually requiresproving lots of theoremson a very formal, detailedlevel. Doing this by handis not only a very time-consuming,but alsoerror pronetask. Hence,computersupportfor (or, ideally automaticprocessingof) the proofobligationsis necessary. Practicalapplicationof formalmethodsin industry(seee.g.(Weber-Wulff, 1993)),however, posesadditionalrequirementson methodsandtools:they mustbeusableanduserfriendly. This impliesthata tool should

supporttheentiresoftwarelife cycle,

fit smoothlyinto existingsoftwaredevelopmentprocedures,

exhibit a fastlearningcurve,

hidenon-problem-specificdetails(e.g.,existenceof aprover),and

besuitedfor realapplications.

Thelastissuemeansthat,for example,a tool mustratherbeableto handletrivial,but lengthycode(e.g.,legacy code,macrocode)thandealingwith complex recursivealgorithms(just think at thefamous“quick-sort” example).Today’s toolssupportingformal methodsareusing interactivetheoremprovers, modelcheckers, andto a lessextend,automatedtheoremprovers.

Page 3: AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN (Schumann).pdf · AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN 1. INTRODUCTION The amount and complexity of

AUTOMATED TPIN HIGH-QUALITY SOFTWARE DESIGN

2.1. InteractiveTheoremProvers

Traditionally, interactive theoremproverslike ACL2 (KaufmannandMoore,1996),EVES(CraigenandSaaltink,1996),HOL (Gordon,1987),Isabelle(Paulson,1994),KIV (Reif, 1992),NqThm(BoyerandMoore,1988),andPVS(Crow etal., 1995)—justto nameafew — arebeingusedto tackleprooftasksarisingin many applications.Thesesystemshave a highly expressive input language. A higher order logic orcustomizedlogic canbe definedformally andusedwithin this framework. Formaldefinitionsof theoriescan be usedfor the semi-automaticgenerationof inductionschemesandsimplifiers.Interactivelyactivatedtacticsprocessthegoalsof thecurrenttheoremtobeproven.Mostsystemsfurthermorecontainaninteractive(mostlyemacs-based)userinterfacewhich allows to work on theopengoalsandto control thedatabaseof theoremsalreadyproven.

Interactive theoremproverscanbe customizedfor specificapplicationsanddo-mains. To this end, the prover is augmentedwith definitionsof specificlogics andlibrariesof domain-specifictactics. Nevertheless,the proof of a theoremin generalrequiresmany interactions. Proof times of several months(e.g., (SchellhornandAhrendt,1998;HavelundandShankar, 1996))arenotanexception.Furthermore,theusermusthave a detailedknow-how of the customlogic andthe prover itself. Forexample,many proofsin (Paulson,1997b)“[ �� ] requiredeepknowledgeof Isabelle”.Despitetheir power, interactive theoremproversareonly of limited usability in anindustrialenvironment,becauseof their long learningcurve andtheir relatively littledegreeof automaticprocessing.

2.2. ModelChecking

On the otherhand,Model Checkersfor propositional(temporal)logic aremoreandmoreusedin importantapplications.Originatingfromtheareaof hardwaredesignandverification,theseautomatictools provide an efficient meansto tackle(large)prooftaskswhich have a finite statespace(e.g.,finite automata).Prominentsystemsaree.g.,SMV (Burchet al., 1992),SPIN(Holzmann,1991),Step,murphi (Dill, 1996),or cke. Logics, specificallysuitedfor the descriptionof finite automataandtheirproperties(e.g.,CTL (Burchetal.,1990))andconvenientinputlanguagesfacilitatetheuseof ModelCheckers.Theirability to generatecounter-exampleswhenaconjecturecannotbeprovenprovidesvaluablefeed-backfor theuser.

Recently, Model Checkershave beenextended(seee.g.(Burkart,1997)or Mona(Klarlund andMøller, 1998)) to handleinfinite domainswhich have a finite modelproperty(i.e., if a modelexists it hasa finite size). Nevertheless,Model checkersusuallycannotbeappliedin applicationswhererecursivefunctionsanddatastructuresareused. Furthermore,most systemsarenot able to producea formal proof (asasequenceof inferencesteps)whichcanbechecked(or proof-read)externally(but seee.g.,theConcurrency Workbench(Moller, 1992;Cleavelandetal.,1993)).Rather, theuserhasto rely on thecorrectnessof theimplementation� . Themostseverereductionfor the practicalapplicabilityof Model Checkersis the limit of the sizeof the state

Page 4: AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN (Schumann).pdf · AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN 1. INTRODUCTION The amount and complexity of

JOHANNSCHUMANN

spacethey can handle. Despitenumerousapproaches(e.g., (Clarke et al., 1994)),proof tasksmustbebrokendown or abstractedcarefullyin orderto avoid statespaceexplosion.

2.3. AutomatedTheoremProvers

Automatedtheoremprovers(ATPs)for first orderpredicatelogic (e.g. OTTER (Mc-Cune,1994a),Gandalf(Tammet,1997),METEOR(AstrachanandLoveland,1991),SETHEO(Letz et al., 1992;Letz et al., 1994;Moseret al., 1997),SNARK (Stickelet al., 1994),SPASS(Weidenbachet al., 1996) ���� ) canhandlefull first orderlogic.Nevertheless,they areonly usedvery rarely in applicationsin the areaof SoftwareEngineering. Although, due to intensive research(e.g., the German“SchwerpunktDeduktion” (Bibel andSchmitt,1998)),thesesystemshave gainedtremendouslyinpower, one is tendedto ask: “Why are they not used?” and“Is therereally a gapbetweenHigher-Orderlogic interactive theoremproving� anddecisionprocedures?”

Currently, mostAutomatedTheoremProvers(ATPs)arelikeracingcars:althoughvery fast and powerful, they cannotbe usedfor everydaytraffic, becauseessentialthings (like head-lights)are missing. The classicalarchitectureof an ATP (i.e., ahighly efficient andtunedsearchalgorithm)will andmustbe extendedinto severaldirectionsin orderto beusefulfor realapplications.

For therestof this paper, we areconcernedwith thetopic how, andin which wayautomatedproversareto be extendedin order to be applicablein the areaof HighQuality SoftwareDesign. We canidentify direct application(i.e., proof obligationsarealreadysuitedfor direct processingby an ATP), integration of ATPs into inter-active theoremprovers,and the adaptationof automatedproverstowardspracticalapplicability.

3. DIRECTAPPLICATIONS

Racingtracksarespecificallysuitedfor racingcars.In ourapplicationarea,domainscanbe identifiedwhich aresuitedfor directprocessingwith anATP. Obviously, theformal methodshouldbe closeto First Order Logic (FOL), or a logic which canbe translatedeffectively into FOL. Furthermore,the proof obligationsmustbe of acomplexity (size of the formula and size of the inducedsearchspace)which canbe handledwithin current-technologytheoremproversand the proof tasksmustbeprovablewithoutapplicationof induction� . If theserequirementsarenotmet,it mightbebetternottouseageneralpurposeATP, butsomespecialpurposealgorithm.E.g.,inPLANWARE (BursteinandSmith,1996)thedesignershadenoughinformationabouthow to find a solutionthat they “were ableto throw out the theoremprover” (Smith,1998).In thispaper, wewill havealook atthreespecificsystemswhichdirectlyapplyautomatedtheoremprovers: ������� ���������� , NORA/HAMMR, and ����� � �!� " .

Page 5: AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN (Schumann).pdf · AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN 1. INTRODUCTION The amount and complexity of

AUTOMATED TPIN HIGH-QUALITY SOFTWARE DESIGN

3.1. �#�$��� ���������%��#�$��� ���������%� is a prototypicaltool for the automaticverificationof authenticationprotocols(Schumann,1997;DahnandSchumann,1998;Schumann,1999b).Authen-tication protocolsareusedin mostdistributedapplications(e.g.,internet,electroniccommerce,wirelesstelephonenetworks) to identify thecommunicationpartnersandto establishasecurecommunication,e.g.,by exchangingencryptionkeys. Dueto theimportanceof theseprotocols,their verificationis vital. Several formal approachesto guaranteesecurityproperties(c.f. (Meadows,1994;Geiger, 1995)for anoverview)have beendevelopedin thepast: usingmodallogics of belief (e.g.,(Burrows et al.,1989;Burrowsetal.,1990;Gongetal.,1990;SyversonandvanOorschot,1994;AbadiandTuttle,1991;KesslerandWedel,1994;KindredandWing, 1996)),ModelCheck-ing (Kindred andWing, 1996),andapproachesbasedon communicatingsequentialprocesses(Paulson,1997a;Paulson,1997b;Lowe,1996).�#���&� ���'�(� �� cananalyzeauthenticationprotocolsusingthe modalBAN-logic(Burrowsetal.,1989)or theAUTLOG-logic(KesslerandWedel,1994).Theselogicsareoften employed in early stagesof protocoldevelopment,becausethey areableto handlefreshnessproperties(animportantclassof securityproperties)andproduceshort and informative proofs. Given the specificationof a protocoland additionalassumptions,������� ���������� transformsthe formulasinto first orderlogic andstartsthe prover

����������. Proofs found by

����������are then automaticallytranslated

into a problem-oriented,human-readableform. An examplefor input and outputfor a simpleprotocol(a slight modificationof theRPC-handshake (Satyanarayanan,1987)) is shown in Figure 1. Proofs are in generalfound within a few secondsof run-time. Ratherthan going into details (which can be found in (Schumann,1997;DahnandSchumann,1998)),Figure1 illustratesanextremelyimportantfeatureof �����&� ���������� (as of any successfulapplication): it hidesany evidenceof theautomatedtheoremproverandfirst orderlogic. Both,inputandoutputarein problem-orientedform (here,a modalbelief logic), and the userdoesnot needto have anyknowledgeabouttheprover’sdetails.

3.2. NORA/HAMMR

Reuseof approved softwarecomponentsis an importantmethodfor ensuringhighquality in softwaresystems.NORA/HAMMR (SchumannandFischer, 1997;Fischeret al., 1998)is a tool for thededuction-basedretrieval of componentsfrom a libraryof reusablecomponents.Using a contract-basedapproach,the library modulesareidentified by a VDM/SL specificationof their pre- and post-conditions. In orderto retrieve components,a queryspecification(alsoin VDM/SL) is given. Then,thelibrary isautomaticallysearchedfor matchingmodules.Matchingcomponentsusuallyhavea weakerpre-conditionthanthequery, anda strongerpost-condition(for detailsondifferentwaysof retrieval see(Fischer, 1999)).

The tool NORA/HAMMR is designedfor optimal usability. A graphicaluserin-terface(seeFigure 2) allows to enterthe query, browseselectedcomponentsfrom

Page 6: AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN (Schumann).pdf · AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN 1. INTRODUCTION The amount and complexity of

JOHANNSCHUMANN

Objects:principal A,B;sharedkey K_a_b, Kp_a_b;statement N_a, N_b;

Assumptions:A believes sharedkey K_a_b;B believes sharedkey K_a_b;A believes B controls

sharedkey K_a_b;B believes sharedkey Kp_a_b;A believes fresh N_a;B believes fresh N_b;

Idealized Protocol:message 1: A -> B

{N_a}(K_a_b);message 2: A <- B

{f(N_a),N_b}(K_a_b);message 3: A -> B

{N_b}(K_a_b);message 4: A <- B

{sharedkey Kp_a_b}(K_a_b);

Conjectures: after message 4:B believes A believes N_b;

Theorem 1. )+*�,.-0/1)+24365�/ .Proof. Weshow directly that

)$*�,.-0/1)+273859/ .(1)

Becauseof Message-Meaning,Assumption: , andby Message;

<>=@?ACB�?DFE�G.

(2)

Becauseof Theorem

)$*�,.-0/1)+273859/IH <>=@?ACB�?AFE G.

(3)

Becauseof Nonce-Verification:B�?AJ=K?AL H B�?AJ=K?D LNM B�?AJO L

. Henceby(2)andbyAssumptionP�Q#)+*�,.-0/1)+24365�/ .Henceby (3) )$*�,.-0/R)�27365�/ . Thuswe havecompletedtheproofof (1). q.e.d.

Figure1 Exampleinputandoutputof PIL/SETHEO

the library, and control the searchprocesswhich is structuredas a pipeline of fil-tersof increasingdeductive power. The filters arecapableof efficiently discardingnon-matchingcomponents.Startingwith signaturematchersandsimplificationfilters,mostof theinterestingcomponentscanbepreselected.A subsequentmodelcheckingfilter triesto identify non-matchingcomponents.Finally, a first-ordertheoremproverprocessesthematchingrelation.If aproofcanbefound,thelibrary componentcanbesafelyreused.Hence,only atiny fractionof prooftasksis processedby theautomatedprover. This ensuresshortanswer-times, oneof themostimportantrequirementsforthiskind of applications.

Thefilter pipelinecanbeconfiguredby theuser, but thecontrolof theproversiskept invisible from the user. Therefore,the tool only requiresknowledgeaboutthe(problem-oriented)specificationlanguageVDM/SL. NORA/HAMMR (seeFigure 2for a screen-shot)has beenevaluatedextensively on a large library on functionsaboutlists (Fischeret al., 1998). The automatedproversProtein(BaumgartnerandFurbach,1994),

����������and

� �0SUT9T (Weidenbachet al., 1996)have beenusedfortheexperiments.With arun-timelimit of 60seconds,a recall(percentageof retrievedmatchingcomponents)of morethan71%(SPASS)couldbeobtained.If all proversare

Page 7: AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN (Schumann).pdf · AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN 1. INTRODUCTION The amount and complexity of

AUTOMATED TPIN HIGH-QUALITY SOFTWARE DESIGN

Figure2 GraphicalUserInterfaceof NORA/HAMMR

runningin aparallelcompetitivemode(seeSection5.2),therecallcouldbeincreasedto 80%which is acceptablefor practicalpurposes.

3.3. Amphion

Themainapplicationareaof ����� � �!� " (Lowry etal.,1994)is theautomaticsynthesisof astrodynamic(FORTRAN-) programsout of a given subroutinelibrary (NAIF).Specificationsareenteredin agraphicalwayasshown in Figure3 (takenfrom (Lowryetal., 1998)).All bodies(hereJupiter, Sun,space-craft)andtheir relationshipaswellasthedesiredfunction(hereto calculatetheboresightanglebetweentheSpace-craftGalileo and the Sun) are enteredusing graphicalelements. From this, an internalformal specificationof theproblemis automaticallygeneratedandprocessedby theautomatedproverSNARK (Stickel etal.,1994).Its resultcorrespondsto thesequenceof library callsnecessaryto calculatethedesiredfunction. Finally, a post-processorconvertsthisdatastructureinto thedesiredFORTRAN program(Figure3).

Thistool iswidelyusedwithin NASA andhasbeenextendedtohandleseveralotherdomains.Hereagain,hidingtheproverandits logic is important.Only then,this toolcanbeusedby non-specialistsin theareaof theoremproving. Furtherfeaturesof thiskind of applicationcomeimmediatelyinto mind: proofsasa resultareimportant,thedomainis ratherrestricted(only alinearsequenceof subroutinecalls)but neverthelessimportant. However, morecomplex applicationdomainsprobablywould requireatleastsomekind of userinteractionsand/orspecificadaptationsandextensionsto bare-

Page 8: AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN (Schumann).pdf · AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN 1. INTRODUCTION The amount and complexity of

JOHANNSCHUMANN

SUBROUTINESOLAR0 (TGAL,INSTID,SIANG)C ...C Input variables

CHARACTER*(*) TGALINTEGER INSTID

C Output variablesDOUBLEPRECISION SIANG

C ...CALL SCS2E ( GALILE, TGAL, ETGALI )CALL BODVAR( JUPITE, ’RADII’, DMY1, RADJUP )CALL SPKSSB ( GALILE, ETGALI, ’J2000’, PVGALI )CALL SCE2T ( INSTID, ETGALI, TKINST )TJUPIT = SENT ( JUPITE, GALILE, ETGALI )CALL BODMAT( JUPITE, TJUPIT, MJUPIT )CALL ST2POS ( PVGALI, PPVGAL )CALL SPKSSB ( JUPITE, TJUPIT, ’J2000’, PVJUPI )

C ...CALL SURFNM( RADJUP(1), RADJUP(2), RADJUP(3), P, PP)CALL MTXV ( MJUPIT, P, XP )CALL MTXV ( MJUPIT, PP, XPP )CALL VADD ( PPVJUP, XP, V0 )CALL VSUB ( PPVSUN, V0, DV0PPV )SIANG = VSEP ( XPP, DV0PPV )RETURNEND

Figure3 Exampleinputandoutputof ����� ���!�U"

boneautomatedtheoremprovers(e.g.,inclusionof decisionprocedures(Lowry andvanBaalen,1995)).Bothdirectionswill bediscussedin thefollowing.

4. INTEGRATION INTO INTERACTIVE PROVERS

Thegoalof integratingautomatedtheoremproversinto interactiveproversis to relievetheuserfrom tedious,error-proneandlow-level work. Only majordecisions— the“centralproof ideas”— will have to beprovidedby thehumanuser, whereastrivialtasksareperformedautomatically. Sucha systemarchitecturecanprofit muchfromthereasoningpower of automatedtheoremprovers. For typical applications,e.g.,inverification,more thanabout90% of the Higher-Order logic constructsV caneasilybe transformedinto oneor morefirst orderproof tasks. Accordingto (Reif, 1998),ideally about25–30%of thesetaskscanbehandledautomatically. Theothersmustbe furtherbrokendown by the user. We will have a look at two prominentsystemswhichcombineinteractivetheoremproverswith high-performanceautomatedtheoremproving: ILF andKIV.

4.1. ILF

ILF (Dahn et al., 1994) is an interactive proof environment (“Proof-Pad”) whichallowstheinteractiveconstructionof complex proofsby usingtactics.Thesystemhasbeensuccessfullyappliedto problemsfrom mathematics(Mizar (DahnandWernhard,1997)), hardware verification (verification of a microprocessor(Wolf and Kmoch,1997))andtheverificationof communicationprotocols(DahnandSchumann,1998).

Page 9: AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN (Schumann).pdf · AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN 1. INTRODUCTION The amount and complexity of

AUTOMATED TPIN HIGH-QUALITY SOFTWARE DESIGN

This work showed its usability in the areaof High-Quality softwareand hardwaredesign.

For theverificationof softwareprotocols,aninterfaceto thespecificationlanguageZ hasbeendefinedandimplemented(DahnandSchumann,1998). Z specificationsaredirectly translatedinto ILF’s sortedfirst orderpredicatelogic. With thehelpof agraphicaluserinterfaceanda tactics-basedlanguage,the proof taskscanbe brokendown into individual subgoals.Eachsubgoalis first tried by oneof the connectedautomatedprovers ( W �(���'X (McCune,1994a),

����������(Letz et al., 1992; Goller

etal., 1994),andDiscount(Denzinger, 1995;DenzingerandPitz,1992)Y ). Thetime-limit for theautomatictries— which areperformedin parallel(seeSection5.2) —is setto severalseconds.If duringthis time no proof couldbefound,theuserhastofurtherbreakdown theproofobligation.

A uniquefeatureof ILF is its capability to presentthe usera problem-oriented,humanreadableproof. Sucha proofconsistsof a “patchwork” of smallproofs,foundby the automatedproversandby the interactive applicationof tactics. By usingacommon(naturaldeduction-style)calculus,theBlockcalculus(DahnandWolf, 1994),all proofscanberepresentedin auniformstyle. Thisproof is thenautomaticallypost-processedandtypesetto obtaina LATEX-document(seealsoFigure1, right-handsidefor anexample).

4.2. KIV andAutomatedTheoremProvers

KIV (Reif et al., 1997)is aninteractiveverifier, specificallysuitedfor theverificationof High-Qualitysoftware.Many industrialapplicationsof KIV, e.g.,theverificationofanAirbag controller(Reif, 1998)demonstratesthepracticalusabilityof this system.Basedon dynamiclogic, reasoningcanbe performedmanuallyandby tactics. Aswith any interactivesystem,thetimeto find aproofcanbeconsiderably. For example,for the verification of certain refinementstepsfor a PROLOG Abstract Machineimplementation(Borger and Rosenzweig,1995), proof times of up to two monthshavebeenreportedin (SchellhornandAhrendt,1998)Z .

Hence,oneaim of KIV’ s developersis to useautomatedtheoremproversto pro-cesssimpleproof taskswithoutuserinteraction.To thisend,theprover �\[

]0^(Hahnle

et al., 1992;Hahnle,1993;Beckert andHahnle,1992)wasintegratedinto KIV, andexperimentson the expectedperformanceof

����������, SPASS, Otter, and Protein

(BaumgartnerandFurbach,1994)havebeenperformedfor selecteddomains(Schell-horn andReif, 1998). Onekey-problemwhich was identified is the preprocessingof axioms: whenworking with the interactive system,oneusuallyloadsall theories(e.g., theoryof naturalnumbersandarithmetic,lists, trees)which might be neededfor the ongoingverification. Wheninteractive stepsareperformed,the humanuserusuallyknowswhichof theaxiomsis to beapplied.Mostautomatedtheoremprovers,however, areoverwhelmedby the sheernumberof axioms(often several hundreds)whichareincludedin theformula. Therefore,apowerful mechanismfor thepreselec-

Page 10: AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN (Schumann).pdf · AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN 1. INTRODUCTION The amount and complexity of

JOHANNSCHUMANN

tion of axiomsis vital. A straight-forwardmethodhasbeenintegratedinto KIV (seeSection5.1.1)whichperformsverywell.

5. ADAPTATION OFAUTOMATED PROVERS

Althoughautomatedtheoremproversfor first orderlogic havebecomeverypowerful,they needto beadaptedin orderto beusefulfor theintendedapplication.This is dueto the fact that mostATPshave beendesignedandevaluatedwith the aim to solvesmall,but hardproblemsasthey typically occurin mathematics.Thelargecollectionof problemsin theTPTPbenchmarklibrary (Sutcliffe et al., 1994)reflectsthis fact:most problemsare specifically formalized and preparedfor automateddeduction.Proof tasksfrom applicationsin the areaof high quality software designusuallyposesquitedifferentrequirementsfor theautomatedtheoremprover (cf. (Schumann,1999a)).Extensionsneededto meettheserequirementsincludehandlingof non-firstorder logics (e.g., inductive problems,modal logics), efficient equality and theorytreatment,handlingof non-theorems(i.e., giving useful feed-backif a conjecturecannotbe proven),post-processingof proofs,etc. Due to spacerestrictionswe willfocus on only two topics: preprocessingof the formulasand parallel executioninorderto reducethe prover’s answertime. Althoughall extensionsmentionedaboveareimportant,experiencewith many casestudies(cf. (Schumann,1999a))revealedthattheseissuesarecentralfor a successfulapplication.

5.1. Preprocessing

In mostapplications,proofobligationsaregeneratedautomaticallyby theapplicationsystem.Becausethis usuallyinvolvesa transformationbetweendifferentlogics, thegeneratedformulascancontainmany redundanciesandlotsof axiomswhichwill notbe neededfor finding a proof. Automatedtheoremprovers,however, areextremelysensitive with respectto the numberof (unnecessary)clausesaddedto the formula.Therefore,it is importantto performapowerful preprocessingof theformulawith thegoalof optimizingit withoutaffectingits provability.

5.1.1.Preselectionof Axioms

In general,thetaskof selectingtheappropriateaxiomswhich contributeto theproofis as hardand undecidableas the proof task itself. Therefore,approximationsarenecessary. For domainswith a rich signatureanda hierarchicalstructuredtheory, astraight-forward andpowerful methodhasbeendevelopedin (SchellhornandReif,1998): givena formula,oneselectsonly such(sub-)theorieswhich areon thebranchfrom the theory, requiredby the theoremto the root of the hierarchy. For example,to prove a theoremabout the length of a list using the appendoperator, only theaxiomsbelongingto thesub-theoriesof lists andnaturalnumberswith additionhaveto be added. So, axioms,definingmultiplication (which usuallyalsobelongto thetheoryof naturalnumbers)canbeomitted.Thismechanismis apartof theinteractive

Page 11: AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN (Schumann).pdf · AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN 1. INTRODUCTION The amount and complexity of

AUTOMATED TPIN HIGH-QUALITY SOFTWARE DESIGN

systemKIV (Section4.2)andhasbeenevaluatedin (SchellhornandReif, 1998)withtheorems,coming from the domainof graphs. With the full set of axioms(morethan500axioms),

����������couldshow 18 exampletheorems((SchellhornandReif,

1998),pg. 238). The axiom reductionyields lessthan100 axiomswhich enabled���'�(� ��to solve 29 problems_ . Similar methodshave beenintegratedinto ILF and

NORA/HAMMR.

5.1.2.Simplification

Prooftaskswhicharebeinggeneratedautomatically, typically containpartswhicharenot usefulfor the currentproof obligation. Examplesarepartswhich areobviouslynot usable(“pure” partsor tautologies,e.g., `badc X%e�� ). Suchsub-formulascanberemoved without affecting the logical propertiesof the formula, thus reducingthetheoremprover’ssearchspaceconsiderably.

Very old versionsof���������%�

(Letz et al., 1988) containedsuchpreprocessingmodules.However, dueto thegeneralfocusonproblemswhicharealreadysimplifiedandminimized,this aspecthadbeentotally neglectedby mostATP designers.Sim-plification shouldbe performedassoonaspossible(i.e., alreadyon the level of theapplication)andon all subsequentlevels (applicationlogic, first orderlogic, clausalnormalform). Typical waysof simplifying a formulawhich directly comeinto mindare:

removal of obviously tautologicalparts(e.g., c X�e���fhg S i6T � , j@kml�j ).

optimizationof thequantifieswith theaim of producingSkolemfunctionswithminimal lengthandsmallsetsof clauses(cf. e.g.(Eder, 1985;Nonnengartetal.,1998)).

simplificationof theformulawith respectto underlyingtheories.Thismeansthate.g.,cons n!oqp$r@sutwv x canbesimplifiedto

g S i6T � .

formulasof the form y�o{z|n}o~t�����`mv oqx�s and somearbitrary ` can bereplacedby: `mv o����.x . This meansthat all unconditionalequationsareappliedto thewholeformulaandthenremoved. Thiskind of simplificationis particularhelpfulwhenprocessinginductioncaseslike y(��z���t�v x(��` .

However, much more sophisticatedways of simplification arepossibleand de-sirable. Somemethods,usingsemanticinformationhave beenimplementedin thesystemNORA/HAMMR (Fischeret al., 1998). Here,simplificationis alsousedto de-cide(wherepossible)if thetheoremcanbevalid or not. In particularin applications,wheremostof theproof obligationsarenon-theorems,this turnsout to beextremelyhelpful. But this is by far not theend. Experiencewith interactive theoremproversandsymbolicalgebrasystems(e.g.,Mathematica(Wolfram,1991))revealsthatsim-plifiers arethecentralandmostintricatepartsof sucha system.Therefore,elaboratesimplificationof a proof taskshouldnot only beperformedduringthepreprocessingphase,but alsoduringthesearchfor theproof.

Page 12: AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN (Schumann).pdf · AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN 1. INTRODUCTION The amount and complexity of

JOHANNSCHUMANN

5.2. Parallel Execution

Most applicationsof automatedtheoremproverssharea commonandimportantre-quirement: shortanswertime. In particularfor systemslike NORA/HAMMR, KIV,or �K��� ���!�U" wheretheuseris waiting for theanswer(“resultswhile-u-wait”), shortresponsetimesarevital for theacceptanceof suchatool. Furthermore,theautomatedproverhookedto thesystemshouldbeableto handlereasonablycomplex proofobli-gations,andthe behavior of the prover shouldbe “smooth”. This meansthat prooftaskswhicharesomewhatsimilar to eachothershouldalsoexhibit asimilarbehaviorw.r.t. responsetimes.

A paradigmwhich is able to supportthe above requirementsis the exploitationof parallelism. As hasbeendemonstratedin (Kurfeß, 1990), automatedtheoremprovingexhibitsanenormouspotentialof parallelism.With thewidespreadavailabilityof modernarchitectureslike coupledmulti-processorsystemsandlarge (often idle)networks of powerful workstations,parallel processingof proof taskshas gainedpracticalimportance.

Of the many approachesof parallel theoremproving which have beenexplored(seee.g. (SuttnerandSchumann,1993;Schumannet al., 1998)for anoverview), themodelsof competitionand(static)partitioning seemto bethemostappropriateonesfor applications.In a competitive model,all processesmustsolve the same(entire)proof task,but canusedifferentparameters(p-SETHEO(Wolf, 1998))or parameterranges(SiCoTHEO(Schumann,1995)).Thefirst processwhichfindsasolution,winsandabortsthe otherprocesses.If the searchparametersfor eachprocessexhibit abehavior which is sufficiently differentfrom theothers,goodspeedup valuescanbeobtainedwhile reducingthe answertimes. As an additionaladvantage,the modeldoesnotrely onhighcommunicationbandwidthandlow latency, becauseinterprocesscommunicationis limited to start-upandshut-down of thesystem.

On the contrary, a static partitioningapproach(e.g., SPTHEO(Suttner, 1995))splitsuptheformulainto many independentpartswhicharesearchedindividually andin parallel.Thismodelalsoproducesgoodscalabilityandefficiency. In contrasttody-namicpartitioning(likePARTHEO(SchumannandLetz,1990)),staticpartitioningiseasierto implementonarbitraryarchitecturesandhassubstantiallylowerrequirementson thecommunicationmeans.

6. CONCLUSIONS

In this paper, we have investigatedhow first-orderautomatedtheoremproverscanbeappliedto thedevelopmentof HighQualitySoftware.Formalmethodswhichfacilitatethedesign,developmentandverificationneedsupportby powerful, yet user-friendlytools. Here,automatedtheoremproverscanbeusedto relieve theuserfrom tedious,error-pronework on detailsof theproof obligations.We have identifiedtwo waysofapplyingATP, namelydirectapplicationsandtheir integrationinto interactiveproversandverifiers.However, automatedproverswithoutmodificationscanbeappliedonlyin very few cases,becausethey lack several importantfeatures. In this paper, we

Page 13: AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN (Schumann).pdf · AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN 1. INTRODUCTION The amount and complexity of

AUTOMATED TPIN HIGH-QUALITY SOFTWARE DESIGN

presentedworkonthefollowingcentralissues:preprocessingof proofobligationsandefficientcontrolby exploitationof parallelism.

Theenormouspotentialof automatedproverscanbeusedin practicalapplicationsonly if importantcorerequirements,identifiedin successfulcasestudiesaremet:

evidenceof theautomatedprovermustbehidden.

automatedproversmustsupporthandlingof finite domainsin an efficient way(e.g.,by exploiting modelgenerationtechniquesor by integratingdecisionpro-cedures).

ATPsmustbeableto handleobviousnon-theoremsappropriately, andmustgivefeed-backin suchcases(e.g.,a counter-example).

pragmaticissuesmust be obeyed more carefully, e.g., preciselydefinedinputlanguage,implementationrestrictions(like reserved identifiers,lengthof sym-bols). In research-orientedenvironments,theseissuesareoftenoverlookedandneglected.However, they areimportantprerequisitesfor realsuccessfulapplica-tionsof automatedtheoremprovers.

With carefully chosenapplicationdomainsandtheoremproverswhich meettheaboverequirementsandareadaptedaccordingly, automatedtheoremproversarepow-erful enoughto helpto reallybringforwardindustrial-applicableformalmethodstoolsfor thedevelopmentof High-QualitySoftware.

ACKNOWLEDGMENTS

Thiswork issupportedbytheDeutscheForschungsgemeinschaft(DFG)within theHabilitation-grantSchu908/5-1,Schu908/5-2,andSFB342/A5. Partial fundingfor this paperwasprovidedby NASA RTOP519-50-22.

JohannSchumannNASAAmes/ CaelumResearch Corp.MoffettField, Ca.,USA

NOTES

1. Thiswasalsoapointof critiquewhenModelgenerators(Finder(Slaney, 1994)andMace(McCune,1994b))wereusedin theareaof finite quasi-groups.

2. See(Sutcliffe andSuttner(editors),1997)for abroaderoverview.

3. Note,thatsomeITP’s(e.g.,PVS(Rajanetal.,1995))alreadycombineinteractive theoremprovingwith decisionprocedures(e.g.,modelcheckingwith � -calculusandlineararithmeticsolver).

4. Otherwise,specialpurposeinductiveprovers(e.g.,Oyster/Clam(Bundyetal.,1990))or interactiveproversmustbeusedto handletheproof taskitself, or to generatefirst ordersubproblems(“basecase,stepcase”)outof thegivenproof task.

Page 14: AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN (Schumann).pdf · AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN 1. INTRODUCTION The amount and complexity of

JOHANNSCHUMANN

5. Thisfigureresultsfrom estimates,givenby severalresearchersto theauthor.

6. Whereasthe first two provers can handlearbitrary formulas in first order logic with equality,Discountis restrictedto problemswhich consistof equationsonly. In this domain,however, Discountisextremelypowerful.

7. Althoughthetopicof thiscasestudymightseemalittle academic,itscomplexity andsizeresemblesa typicaldemandingindustrialapplication.

8. ���0�0��� exhibits a similar behavior: it couldsolve 24 with all axiomsand31 with thereducedsetof axioms((SchellhornandReif, 1998),pg.238).

REFERENCES

Abadi,M. andTuttle,M. R. (1991).A Semanticsfor aLogic of Authentication.In Proc.of theTenthAnnual

ACM Symp.onPrinciplesof DistributedComputing, pages201–216.ACM press.

Astrachan,O. and Loveland,D. (1991). METEORs:High PerformanceTheoremProvers using Model

Elimination.In Boyer, R., editor, AutomatedReasoning:Essaysin Honor of WoodyBledsoe. Kluwer

AcademicPublishers.

Baumgartner, P. and Furbach,U. (1994).PROTEIN: A PROver with a Theory ExtensionInterface. In

Proc.12thInternationalConferenceonAutomatedDeduction(CADE12), volume814of LNAI, pages

769–773.Springer.

Beckert, B. andHahnle,R. (1992).An Improved Methodfor Adding Equality to FreeVariableSemantic

Tableau.In Kapur, D., editor, Proc.11thInternationalConferenceonAutomatedDeduction(CADE11),

volume607of LNAI, pages507– 521.Springer.

Bibel, W. andSchmitt,P., editors(1998).AutomatedDeduction:a Basisfor Applications, volume8-10.

Kluwer.

Borger, E. andRosenzweig,D. (1995).The WAM — definition andcompilercorrectness.In Logic Pro-

gramming:FormalMethodsandPracticalApplications, volume11of Studiesin ComputerScienceand

Artificial Intelligence. North-Holland.

Boyer, R. S.andMoore,J.S.(1988).A ComputationalLogic Handbook. AcademicPress.

Bundy, A., vanHarmelen,F., Horn,C., andSmaill,A. (1990).TheOyster-ClamSystem.In Stickel, M. E.,

editor, Proc.10th InternationalConferenceAutomatedDeduction(CADE10), volume449of Lecture

Notesin ComputerScience, pages647–648.Springer.

Burch,J.R.,Clarke,E.M., McMillan, K. L., Dill, D., andHwang,L. J.(1992).SymbolicModelChecking:�9� �+� StatesandBeyond.InformationandComputing, 98(2):142–170.

Burch,J.R., Clarke, E. M., McMillan, K. L., andDill, D. L. (1990).SequentialCircuit VerificationUsing

SymbolicModelChecking.In Proc.27thACM/IEEEDesignAutom.Conf. IEEEComp.Soc.Press.

Burkart,O. (1997).AutomaticVerificationof SequentialInfinite-stateProcesses, volume1354of Lecture

Notesin ComputerScience. Springer.

Burrows,M., Abadi,M., andNeedham,R. (1989).A Logic of Authentication.In ACM Operating Systems

Review 23(5) / Proceedingsof the Twelfth ACM Symposiumon Operating SystemsPrinciples. ACM

Press.

Burrows, M., Abadi, M., and Needham,R. (1990). A Logic of Authentication.ACM Transactionson

ComputerSystems, 8(1):18–36.

Burstein,M. B. andSmith,D. (1996).ITAS: A PortableInteractive TransportationSchedulingTool Usinga

SearchEngineGeneratedfromFormalSpecifications.In Proceedingsofthe3rdInternationalConference

onAI PlanningSystems(AIPS-96), pages35–44.AAAI Press.

Page 15: AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN (Schumann).pdf · AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN 1. INTRODUCTION The amount and complexity of

AUTOMATED TPIN HIGH-QUALITY SOFTWARE DESIGN

Clarke, E. M., Grumberg, O., andLong,D. E. (1994).Model checkingandabstraction.ACM Transactions

onProgrammingLanguagesandSystems, 16(5):1512–1542.

Cleaveland,R., Parrow, J., andSteffen, B. (1993).The Concurrency Workbench:A semantics-basedtool

for theverificationof concurrentsystems.ACM TransactionsonProgrammingLanguagesandSystems,

15(1):36–72.

Craigen,D. andSaaltink,M. (1996).UsingEVESto AnalyzeAuthenticationProtocols.TechnicalReport

TR-96-5508-05,ORA Canada.

Crow, J., Owre, S., Rushby, J., Shankar, N., andSrivas,M. (1995).A Tutorial Introductionto PVS. In

WIFT’95Workshopon Industrialstrengthformalspecificationtechniques,BocaRaton,Fl, USA.

c’t (1998).T-online:Hacker knackenZugangsdaten.c’t Computermagazin, (7/98):62ff.

Dahn,B. I., Gehne,J.,Honigmann,T., Walther, L., andWolf, A. (1994).IntegratingLogicalFunctionswith

ILF. TechnicalReportPreprint94-10,HumboldtUniversityBerlin, Departmentof Mathematics.

Dahn,B. I. andWernhard,C. (1997).First OrderProofProblemsExtractedfrom anArticle in theMIZAR

MathematicalLibrary. In Proceedingsofthe1stInternationalWorkshoponFirst-OrderTheoremProving

(FTP), pages58–62.RISCLinz, Austria.

Dahn,B. I. andWolf, A. (1994).A CalculusSupportingStructuredProofs.Journal for InformationPro-

cessingandCybernetics(EIK), (5–6).

Dahn,I. andSchumann,J.(1998).UsingAutomatedTheoremProversin Verificationof Protocols.In Bibel,

W. andSchmitt,P., editors,AutomatedDeduction.Abasisfor applications, chapterIII.8, pages195–224.

Kluwer.

Denzinger, J. (1995).Knowledge-BasedDistributedSearchUsingTeamwork. In ProceedingsICMAS-95,

pages81–88.AAAI-Press.

Denzinger, J.andPitz,W. (1992).TheDISCOUNTSystem.UserManual.SEKIWorkingPaperSWP-92-16,

Universitat Kaiserslautern.

Dill, D. L. (1996).The Murphi VerificationSystem.In Rajeev Alur andThomasA. Henzinger,editors,

Proceedingsof theEighthInternationalConferenceonComputerAidedVerificationCAV, volume1102

of Lecture Notesin ComputerScience, pages390–393.Springer.

Eder, E. (1985).An Implementationof aTheoremProverbasedontheConnectionMethod.In Bibel,W. and

Petkoff, B., editors,AIMSA:Artificial IntelligenceMethodology SystemsApplications, pages121–128.

North–Holland.

Fischer, B. (1999).DeductionBasedSoftware ComponentRetrieval. PhDthesis,TU Braunschweig.(forth-

coming).

Fischer, B., Schumann,J., and Snelting,G. (1998).Deductionbasedcomponentretrieval. In Bibel, W.

andSchmitt,P., editors,AutomatedDeduction.A basisfor applications, chapterIII.11, pages265–292.

Kluwer.

Geiger, J.(1995).FormaleMethodenzurVerifikationkryptographischerProtokolle. Fortgeschrittenenprak-

tikum, Institut fur Informatik,TechnischeUniversitat Munchen.(in German).

Goller, C., Letz, R., Mayr, K., andSchumann,J. (1994).SETHEOV3.2: RecentDevelopments(System

Abstract).In Proc.12thInternationalConferenceonAutomatedDeduction(CADE12), volume814of

LNAI, pages778–782.Springer.

Gong,L., Needham,R., andYahalom,R. (1990).ReasoningaboutBelief in CryptographicProtocols.In

Proc.of IEEESymposiumonSecurityandPrivacy, Oakland,Ca.,USA, pages234–248.IEEE.

Gordon,M. (1987). A proof generatingsystemfor higher-order logic. TechnicalReport103, Univ. of

Cambridge,ComputerLaboratory.

Page 16: AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN (Schumann).pdf · AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN 1. INTRODUCTION The amount and complexity of

JOHANNSCHUMANN

Hahnle,R. (1993).AutomatedTheoremProving in Multiple–ValuedLogics. OxfordUniversityPress.

Hahnle,R.,Beckert,B.,Gerberding,S.,andKernig,W. (1992).TheMany–ValuedTableau–BasedTheorem

Prover � []9^

. Technicalreport,IBM Germany ScientificCenterInstituteof KnowledgeBasedSystems.

Havelund,K. andShankar, N. (1996).Experimentsin TheoremProving andModel Checkingfor Protocol

Verification.In FME ’96, Oxford, UK.

Holzmann,G. J. (1991).DesignandValidationof ComputerProtocols. PrenticeHall.

Kaufmann,M. andMoore,J.S. (1996).ACL2: An industrialstrengthversionof NqThm.In Compass’96:

EleventhAnnualConferenceonComputerAssurance. NationalInstituteof StandardsandTechnology.

Kelly, J.(1997).FormalMethodsSpecificationandAnalysisGuidebookfor theVerificationof Softwareand

ComputerSystems.VolumeII: A Practitioner’s Guide. NASA.

Kessler, V. and Wedel,G. (1994).AUTLOG — An AdvancedLogic of Authentication.In Proc. IEEE

ComputerSecurityFoundationsWorkshopIV, pages90–99.IEEE.

Kindred,D. andWing, J.(1996).Fast,automaticcheckingof securityprotocols.In 2ndUSENIXWorkshop

onElectronic Commerce, pages41–52.

Klarlund, N. and Møller, A. (1998). Mona version 1.2. User Manual. Brics technicalreport, BRICS,

Universityof Aarhus,Denmark.

Kurfeß,F. (1990).Parallelismin Logic — Its Potential for PerformanceandProgramDevelopment. PhD

thesis,TechnischeUniversitat Munchen.

Letz,R., Mayr, K., andGoller, C. (1994).ControlledIntegrationof theCut Ruleinto ConnectionTableau

Calculi.JournalAutomatedReasoning(JAR), (13):297–337.

Letz, R., Schumann,J., andBayerl,S. (1988).SETHEO– A SEquentialTHEOremprover for first order

logic. Technicalreport,ATP–Report,TechnischeUniversitat Munchen.

Letz,R.,Schumann,J.,Bayerl,S.,andBibel, W. (1992).SETHEO:A High-PerformanceTheoremProver.

Journalof AutomatedReasoning, 8(2):183–212.

Lions,J.L. et al. (1996).Ariane5 flight 501failurereport.

Lowe,G. (1996).SPLICE-AS:A casestudyin usingCSPto detecterrorsin securityprotocols.Technical

report,ProgrammingResearchGroup,Oxford.

Lowry, M. etal. (1998).TheAmphionsystem.URL: http://ic-www.arc.nasa.gov/ic/projects/amphion.

Lowry, M., Philpot, A., Pressburger, T., andUnderwood, I. (1994).Amphion: AutomaticProgramming

for ScientificSubroutineLibraries.In Proc. 8th Intl. Symp.on Methodology for Intelligent Systems,

Charlotte, NC,USA, pages326–335.

Lowry, M. andvanBaalen,J. (1995).META-AMPHION: Synthesisof efficient domain-specificprogram

synthesissystems.In Proceedingsof the 10th Knowledge-BasedSoftware EngineeringConference,

pages2–10.

McCune,W. (1994a).OTTER 3.0 ReferenceManualandGuide.TechnicalReportANL-94/6, Argonne

NationalLaboratory, Argonne,Il, USA.

McCune,W. (1994b).A Davis-Putnamprogramand its applicationto finite first-order model search:

Quasigroupexistenceproblems.Technicalreport,ArgonneNationalLaboratory, Argonne,IL, USA.

Meadows,C. A. (1994).Formalverificationof CryptographicProtocols:A Survey. In Proc.AsiaCrypt.

Moller, F. (1992).TheEdinburghConcurrencyWorkbench (Version6.1). Departmentof ComputerScience,

Universityof Edinburgh.

Moser, M., Ibens,O., Letz, R., Steinbach,J., Goller, C., Schumann,J., andMayr, K. (1997).TheModel

EliminationProversSETHEOandE-SETHEO.Journalof AutomatedReasoning, 18:237–246.

Page 17: AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN (Schumann).pdf · AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN 1. INTRODUCTION The amount and complexity of

AUTOMATED TPIN HIGH-QUALITY SOFTWARE DESIGN

Neumann,P. G. (1995).ComputerRelatedRisks. ACM Press.

Nonnengart,A., Rock,G.,andWeidenbach,C.(1998).OnGeneratingSmallClauseNormalForms.In Proc.

CADE-15, number1421in LNAI, pages397–411.Springer.

Paulson,L. (1997a).Proving propertiesof securityprotocolsby induction.In PCSFW: Proceedingsof The

10thComputerSecurityFoundationsWorkshop. IEEEComputerSocietyPress.

Paulson,L. C. (1994).Isabelle:A GenericTheoremProver, volume828of LNCS.Springer.

Paulson,L. C. (1997b).Mechanizedproofsof securityprotocols:Needham-Schroederwith public keys.

TechnicalReport413,Universityof Cambridge,ComputerLaboratory.

Rajan,S., Shankar, N., andSrivas,M. (1995).An Integrationof Model-Checkingwith AutomatedProof

Checking.In Proc.CAV ’95, volume939of LNCS, pages84–97.Springer.

Reif, W. (1992).The KIV System:SystematicConstructionof Verified Software. In Kapur, D., editor,

Proc.11thInternationalConferenceonAutomatedDeduction(CADE11), volume607of LNAI, pages

753–757.Springer.

Reif,W. (1998).CorrectSoftwarefor Safety-CriticalSystems.invitedtalk,SPPDmeetingduringCADE-15.

Reif,W., Schellhorn,G.,andStenzel,K. (1997).Proving systemcorrectnesswith KIV 3.0.In McCune,W.,

editor, Proceedingsof the14thInternationalConferenceon Automateddeduction(CADE14), volume

1249of LNAI, pages69–72.Springer.

Satyanarayanan,M. (1987).IntegratingSecurityin a Large DistributedSystem.TechnicalReportCMU-

CS-87-179,CMU.

Schellhorn,G.andAhrendt,W. (1998).TheWAMCaseStudy:VerifyingCompilerCorrectnessfor PROLOG

with KIV, chapterIII.7, pages165–194.In (Bibel andSchmitt,1998).Kluwer.

Schellhorn,G.andReif,W. (1998).Theoremproving in largetheories,chapterIII.11. In (BibelandSchmitt,

1998).Kluwer.

Schumann,J. (1995).SiCoTHEO— SimpleCompetitive parallelTheoremProversbasedon SETHEO.In

Proc.of PPAI’95, Montreal,Ca.

Schumann,J. (1997).AutomaticVerificationof CryptographicProtocolswith SETHEO.In Conferenceon

AutomatedDeduction(CADE)14, LNAI, pages87–100.Springer.

Schumann,J. (1999a).AutomatedTheorem Proving in Software Engineering. Habilitation, Technische

Universitat Munchen,Institut fur Informatik. in preparation.

Schumann,J. (1999b).AutomatischeVerifikationvonAuthentifikationsprotokollen. KI. Springer.

Schumann,J. and Fischer, B. (1997).NORA/HAMMR: Making DeductionBasedComponentretrieval

Practical.In Proc.12thConf. onAutomatedSoftware Engineering(ASE), pages246–254.IEEEPress.

Schumann,J. andLetz, R. (1990).PARTHEO: a High PerformanceParallelTheoremProver. In Stickel,

M. E.,editor, Proc.10thInternationalConferenceonAutomatedDeduction(CADE10), volume449of

Lecture Notesin ComputerScience, pages40– 56.Springer.

Schumann,J.,Suttner, C., andWolf, A. (1998).Parallel theoremproversbasedon SETHEO,chapterII.7,

pages261–290.In (Bibel andSchmitt,1998).Kluwer.

Slaney, J. (1994). FINDER: Finite domain enumerator. In Bundy, A., editor, Proc. 12th International

ConferenceAutomatedDeduction, volume814 of Lecture Notesin Artifical Intelligence, pages798–

801.Springer.

Smith,D. (1998).Deductivesupportfor softwaredevelopment. invitedtalk, SPPDmeetingduringCADE-15.

Spiegel (1998).AussichteneinesKlons.Der Spiegel, 18.

Page 18: AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN (Schumann).pdf · AUTOMATED THEOREM PROVING IN HIGH-QUALITY SOFTWARE DESIGN 1. INTRODUCTION The amount and complexity of

JOHANNSCHUMANN

Stickel,M., Waldinger, R.,Lowry, M., Pressburger, T.,andUnderwood,I. (1994).DeductiveCompositionof

AstronomicalSoftwarefromSubroutineLibraries.In Proc.12thInternationalConferenceonAutomated

Deduction(CADE12), volume814of LNAI, pages341–355.Springer.

Sutcliffe, G. andSuttner, C., editors.(1997).JournalAutomatedReasoning, volume18.

Sutcliffe, G., Suttner, C., andYemenis,T. (1994).TheTPTPProblemLibrary. In Proc.12thInternational

ConferenceonAutomatedDeduction(CADE12), volume814of LNAI, pages252–266.Springer.

Suttner, C.andSchumann,J.(1993).ParallelAutomatedTheoremProving. In Kanal,L., Kumar, V., Kitano,

H., andSuttner, C.,editors,Parallel Processingfor Artificial IntelligenceI, pages209–257.Elsevier.

Suttner, C. B. (1995).StaticPartitioning with Slackness. DISKI. infix-Verlag.

Syverson,P. F. andvanOorschot,P. (1994).OnUnifying SomeCryptographicProtocolLogics.In Proc.of

theIEEEComp.Soc.Sympos.onResearch in SecurityandPrivacy, pages14–28.

Tammet,T. (1997).Gandalf.Journalof AutomatedReasoning, 18(2):199–204.

Weber-Wulff, D. (1993). Selling formal methodsto industry. In FME ’93: Industrial-Strength Formal

Methods, volume670of LNAI, pages671–678.Springer.

Weidenbach,C., Gaede,B., and Rock, G. (1996).Spassand Flotter version0.42. In McRobbie,M. A.

andSlaney, J. K., editors,Proc.13thInternationalConferenceAutomatedDeduction, volume1104of

Lecture Notesin Artifical Intelligence, pages141–145.Springer.

Wolf, A. (1998).p-SETHEO:Strategy Parallelismin AutomatedTheoremProving. In Proceedingsof 7th

InternationalConferenceonAnalyticTableauxandRelatedMethods, LNAI. Springer.

Wolf, A. andKmoch,A. (1997).EinsatzeinesautomatischenTheorembeweisersin einertaktikgesteuerten

BeweisumgebunganeinemBeispielausderHarware-Verifikation.SFBBerichtSFB342/20/97A,Tech-

nischeUniversitat Munchen.

Wolfram,S.(1991).Mathematica–ASystemfor DoingMathematicsby Computer. Addison-Wesley, Read-

ing, MA, USA, secondedition.