外文翻译逆向工程过程在真实情况中的应用的分析.docx

上传人:b****6 文档编号:3831402 上传时间:2022-11-25 格式:DOCX 页数:23 大小:806.85KB
下载 相关 举报
外文翻译逆向工程过程在真实情况中的应用的分析.docx_第1页
第1页 / 共23页
外文翻译逆向工程过程在真实情况中的应用的分析.docx_第2页
第2页 / 共23页
外文翻译逆向工程过程在真实情况中的应用的分析.docx_第3页
第3页 / 共23页
外文翻译逆向工程过程在真实情况中的应用的分析.docx_第4页
第4页 / 共23页
外文翻译逆向工程过程在真实情况中的应用的分析.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

外文翻译逆向工程过程在真实情况中的应用的分析.docx

《外文翻译逆向工程过程在真实情况中的应用的分析.docx》由会员分享,可在线阅读,更多相关《外文翻译逆向工程过程在真实情况中的应用的分析.docx(23页珍藏版)》请在冰豆网上搜索。

外文翻译逆向工程过程在真实情况中的应用的分析.docx

外文翻译逆向工程过程在真实情况中的应用的分析

AnalyzingtheApplicationofaReverseEngineeringProcesstoaRealSituation

FabioAbbattista(*),GregorioM.G.Fatone(**),FilippoLanubile(*),GiuseppeVisaggio(*)

(*)DipartimentodiInformatica,UniversityofBari,Italy

(**)BasicaS.p.A.,Potenza,Italy

Abstract

Areverseengineeringprocessmodelwasappliedandonthebasisofthedatacollected,somemodificationsweremadeaimingtoimproveitsefficacy.Theexperiencegaverisetovariousconsiderationsofinterest,firstamongthembeingtheclearinteractionbetweenthequalityoftheproductandthequalityoftheprocess.Amethodofsynergeticapplicationofstaticanddynamicanalysistoimproveunderstandingoftheprogramwasconsolidated.Theexperienceenabledmodificationstobeintroducedconnectingthereverseengineeringprocessmorecloselywiththeunderstandingoftheprogramsandinformationderivingfromtheapplicationdomain.

Finally,theproblemoftheefficacyofthetoolsusedtoobtainthereverseengineeringproductswasmadeevidentduringtheexperimentationonthefield.

1:

Introduction

Wepresentanexperienceinwhichprocessqualityandproductqualityinteractandmutuallyimproveoneanother.Theprocessisreverseengineeringwhiletheproductisthedocumentationofprogramsnecessarytoexploittheprogrambetter.Thesalientpointtobegainedfromtheexperienceare,ingeneral,themodelasitappearsafterimprovementsstemmingfromtrialonthefieldand,inparticular,themethodforintegratingstaticanddynamicanalysestoimprovetheprocess.

Thepaperdescribestheapplicationofaprocessmodeltoarealsituation.Thescenarioisasetofprogramswiththefollowingcharacteristics:

language:

COBOL

operatingsystem:

BS2000

totalno.ofprograms:

653

no.ofon-lineprograms:

348

no.ofbatchprograms:

305

no.offiles:

70

no.ofdata:

9000

no.ofInstructions:

900000

2:

Thereverseengineeringprocess

Ourreverseengineeringprocesshadtwomainobjectives:

(1)toincreasetheeaseofmaintenanceofthesoftwaresystem,and

(2)toimproveitsusabilitybythefinalusersandtheeaseofknowledgetransferamongdifferentusers[5].

Thefirstinvolvedreconstructionoftheprojectdesigndocumentationandrestorationofthemostdegradedartswhilethesecondrequiredreconstructionoftheuserdocumentationandthedataconceptualmodel.Thiselpsuserstounderstandtheirowninformationsystemetterfromthepointofviewofthedataprocessed[4],[6].

Figure1showstheprocessmodel,whichisbrieflydescribedunderneath.Furtherdetailsmaybeobtainedfrom[10].

1.InventorySoftwareSystem.Thefollowingcrossreferencesareextractedfromthe

oldsoftwaresystem:

calldependenceX-ref,copybookX-ref,andfileaccessX-ref.

2.ReconstructLogicalLevelofData.Fromthedatadescription,thehierarchicalstructureconstitutingthelogicaldatamodelisreconstructed.Thealiasesarerecognizableentitiesintheapplicationdomain.Figure2showsarecorddeclaration,asinputtothephase,andtherelativehierarchicaldiagram,asoutputfromthephase.Thearrowsrepresentthehierarchicalrelationshipsbetweenthesubstructuresintherecord;elementarydataarenotshown.Thedataareclassifiedasapplicationdomaindata,controldata,andstructuraldata.Applicationdomaindataaretheattributesofrecognizableentitiesintheapplicationdomain.Forexample,thefieldnamedMT02-02representingthe"amount"isalsoanattributeofMORTGAGEandisthereforerecognizableintheapplicationdomain.Controldatahavenocorrespondencewiththeapplicationdomainbutareusedtorecordtheoccurrenceofaneventduringtheexecutionofaprogram,sothatotherprogramscanadaptaccordingly;flagsvalidatedbyoneprogramandusedbyothers,asynchronously,todeterminetheirbehavioraccordingtotheprevioushistoryofthesoftwaresystem,aretypicalexamplesofcontroldata.Forexample,thefieldMT02-33ispresettoindicatetheexistenceofanagreementfortakingoutthemortgage,whichmustformthebasisofthevariationininterestratetobeappliedwhencalculatingtheinstalment;itisatypicalexampleofcontroldata.Structuraldataaredatanecessaryformanagingtheorganizationofdatabasesorfiles.ThefieldMT01-05isatypicalexampleofstructuraldata,becauseitidentifiestherecordtypeinsidetheMORTGAGEfile.

3.AbstractData.Allthedataintheapplicationdomainwhichbelongtothelogicalmodelandarenotdeadareassociatedwiththecorrespondingmeaningfulconceptfortheapplicationdomain[1].

4.AnalysisofExistingInformation.Thisactivityinvolvesidentifyingtheexpectedfunctionsintheprogrambeingreversedusingtwotypesofinformation.

Thefirstisstaticknowledge,i.e.theinternalandexternaldocumentationoftherulesgoverningtheapplicationdomainofthefunction.Thesecondisdynamic,derivedfromtheexperienceoftheprogrammersanduserswhointeractwiththeworkingprograms.

Figure2.Inputandoutputof"ReconstructLogicalLevelofData"phase

Figure3.Equivalencetestofthesystembeforeandafterreverseengineering

 

5.ReconstructLogicalLevelofPrograms.EachprogramisassociatedwithastructurechartinwhicheachmodulecorrespondstoaSECTIONoranexternalsubroutineoftheprogram.Inthisphase,bothdeaddataanddeadinstructionsareidentified.Thesearedatanotusedbytheprogramandinstructionswhichcannotberun,respectively.Theformerarecommunicatedtothe"AbstractData"activitywhilethelatterareerasedfromthestructurechart,whichthusconstitutesthelogicalmodelofthefunctions.

6.RestoreLogicalModel.Restorationinvolvesintroducingchangestoimprovethestructureoftheprogramsandmakethemeasiertomaintain,withoutcausingrepercussionsonthedataorinterfaceswithothersystems.Someexamplesofmodificationsarerenamingofvariables,makingtheiridentifiersmoremeaningful;extractingmoduleswithhighinternalcohesionfromthosewithlowcohesionandisolatingtheminthestructure([7],[8],[12],[13]);externalizingmoduleswhich,inthepresentprocess,areinlinewiththemain;localizingvariablesdeclaredtobeglobalbutusedlocallyinbothexistingmodulesandinprocessesextractedduringrestoration.Executionoftheseactivitiesisfacilitatedbytheexpectedfunctionsderivedfromthephaseofanalysisofexistinginformation.Infact,thankstothisknowledge,theoperatorscanextractthefunctionsfromthemodulespresentinthelogicalmodel.Thismakesthelogicalmodelmorereadableanditsmoduleslesscomplex.

7.AbstractFunctions.Thefunctionsabstractedduringrestorationaredocumented.Theaimofeachfunctionisdescribedintextualform.Therelationshipsbetweenfunctionsarealsodocumentedbymeansofdataflowdiagrams.Thelatter,togetherwiththedescriptionofeachfunction,constitutetheconceptualmodel[9].

Thereverseengineeringprocessisnotsymmetricalbecausetheprogramsarerestoredwhilethedataarenot,becauseanyinterferencewiththelatterwouldaffecttheproceduresandmakethewholerestorationprocessveryexpensive.Infact,restorationoftheprogramsisconfinedtotheinstructionsofeachsingleprogram,amuchsimplerandmoreeconomicalprocess.

Thereverseengineeringprocessdescribedmodifiescode,sothatitisnecessarytoverifythattheworkingprogramsareequivalenttothoseproducedbytheprocess.Atestprocessisusedand,astheonlyreliablecomponentintheworkingsystemisthecodeinquestion,itisonlypossibletotesttheequivalencebetweentheactualandthereversedprogram.Testcasesobtainedduringnormalworkingoftheactualsystemareused.TheequivalencetestismodeledinFigure3.

3:

Operativeresults

Theplannedprocesswasputinproductioninthescenariodescribedearlierandafterseventeencalendarmonthsofworkonaproductionline,thefirstresultswereobtained.

Itshouldbenotedthataproductionlinereferstoanorganizationalunitwhichhasalltheresourcesrequiredforexecutingtheprocessautonomously.Inthiscase,theproductionlineiscomposedofeightreverseoperatorsandonereverseengineer.Theformerexecutethe

proceduresaccordingtothedefinedprocessmodelswhilethelattercoordinatesactivitiesandtakesallthedecisionsnecessaryforsolvingallindeterminatepointsintheexecutionprocedures.Theproductionlinesharesanexpertintheapplicationdomainwithotherorganizationalunitsinthecompany.

Thesefirstoperativeresultscanbeanalyzedfromthepointofviewofbothefficiencyandefficacy.Althoughefficiencywasnotthemainaimofthiswork,thedataontheactivitiesforreverseengineeringoftheprogramsandofthedataaresummarizedinTablesIandII,respectively.Twoimportantconsiderationscanbemade.

Theproductivityoftheoperatorsforreverseengineeringtheprogramsiscorrelatedwiththeirexperienceintheapplicationdomain;thisexplainsthedifferencesseeninTableI.Inreverseengineeringthedata,thedifferenceinproductivityhaslesscorrelationwithexperiencebecausethereisverylittleautomationoftheactivitiesandsothemantimerequiredisveryhighinanycase.

Thesecondpointisthatcommerciallyavailabletoolsareofteninadequateforlargeprojects.Forexample,thetoolusedinextractingthedatastructurebecomesunacceptablyslowwhenaccesstopreviouslyinsertedinformationisrequired,ifthedataaremorethanathousandorifaccessistoanentitywithmorethanonehundredattributes.Thetoolusedfortheprograms,ontheotherhand,showsanabruptdropinperformance(answerstoquestionsondataandcontrolflowslowdown)assoonasthethresholdof80

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1