A REVERSE ENGINEERING METHODOLOGY FOR DATA
- 格式:pdf
- 大小:41.56 KB
- 文档页数:15
AREVERSEENGINEERINGMETHODOLOGYFORDATA
PROCESSINGAPPLICATIONS
KitKamper
r
SSpencerRugabe
choolofInformationandComputerScience
Sand
oftwareEngineeringResearchCenter
GeorgiaInstituteofTechnology
Atlanta,Georgia30332-0280
(404)894-8450
ABSTRACT
m
fReverseengineeringproducesahigh-levelrepresentationofasoftwaresyste
romalow-levelone.Thispaperdescribesamethodologyforreverseengineering
d
dthatconstructsanarchitecturaldesignforasystemfromitssourcecodeandrelate
ocumentation.Themethodologymakesuseofseveraltechniquesnormallyuseddur-
cingtheforwardsoftwaredevelopmentprocessaswellasanewtechniquecalledSyn-
hronizedRefinement.SynchronizedRefinementisasystematicapproachtodetecting
odesigndecisionsinsourcecodeandrelatingthedetecteddecisionstothefunctionality
fthesystem.Examplesaregivendemonstratingtheapplicationofthemethodology
tothereverseengineeringofaproductionsoftwaresystem.
4March9,199AREVERSEENGINEERINGMETHODOLOGYFORDATA
PROCESSINGAPPLICATIONS
KitKamper
r
SSpencerRugabe
choolofInformationandComputerScience
Sand
oftwareEngineeringResearchCenter
GeorgiaInstituteofTechnology
Atlanta,Georgia30332-0280
1.INTRODUCTION(404)894-8450
ChikofskyandCross[7]definereverseengineeringas"theprocessofanalyzingasubjectsystem
m
itoidentifythesystem’scomponentsandtheirinterrelationshipsandcreaterepresentationsofthesyste
nanotherformoratahigherlevelofabstraction".Typically,thismeansconstructinganarchitectural
rdesignofasystemfromitssourcecode.Reverseengineeringcanbeusedforavarietyofpurposes:to
econstructorotherwiseimprovedocumentation;tofacilitatesoftwaremaintenanceorconversionactivi-
ties;ortoredesignandre-engineeranexistingsystem.
Thispaperdescribesamethodologyforreverseengineeringandhowitwasappliedtoanopera-
d
itionalsoftwaresystem.Themethodologymakesuseofapproachesandrepresentationstypicallyfoun
ntheforwardsoftwaredevelopmentprocess,includingahigh-level,textualoverviewandgraphical
d
Srepresentationsofdataflowsandfilestructures.Additionally,anewprogramanalysisprocedure,calle
ynchronizeRefinement,isusedtoextractdetailedimplementationinformation.
2.PROJECTDESCRIPTION
Thereverseengineeringprojectexaminedasystemtargetedforredesign,theInstallationMateriel
e
fConditionStatusReportingSystem(IMCSRS),aStandardArmyManagementInformationSystem.Th
unctionofIMCSRSistoassimilateanddistributeequipmentreadinessandmaintenancestatusinfor-
rmationtoU.S.Armyinstallationsanddivisions.Inessence,itisafilecreation,maintenance,and
eportingsystem.Itiscomposedofsixteenprogramsgroupedintosixexecutioncycles.Together,
d
sthesecomprisejustunder10,000linesofsourcecodewritteninCOBOL.Thesystemusesstandar
upportsoftwareforexecutiveprocesses,errordetectionandhandling,filespooling,andcommon
-
alibraryroutines.IMCSRSrunsonanIBM/370computerundertheOS/MVSoperatingsystem.Avail
bledocumentationconsistsoftheProgramMaintenanceManual,theFunctionalUser’sManual,and
theComputerOperationsManual.
Thereverseengineeringeffortispartofalargerprojectthathasagoaltoinvestigatetheapplica-
dbilityoftheAdaprogramminglanguageforsystemslikeIMCSRS.Thehigh-levelrepresentationpro-
ucedbyreverseengineeringwillserveasthebasisoftworedesignefforts,oneusingtraditionalFunc-
ttionalDecomposition[14],andtheotherusingObjectOrientedDesign[4].Iffeasible,twoimplementa-
ionswillbecompletedandtheresultscomparedforperformance,maintainability,anddevelopment
cost.
ThereverseengineeringwasconductedinaresearchlaboratoryattheGeorgiaInstituteofTech-
dnology.TheprimarycomputingvehicleusedwasaSUN386iworkstation,runningtheSUN(UNIX-
erivative)operatingsystemandtheSUNVIEWwindowingenvironment.Thestandardeditingtool(vi)
andsourcecontrolsystem(sccs)wereusedformanipulatingthesourcecode.Thecampusnetwork-2-
providedaccesstoamainframeCOBOLcompiler.
Asubstantialpartofthereverseengineeringeffortinvolvedtheproductionofgraphicalrepresen-
t
otationsofprogramstructures.Forthispurpose,theSoftwareThroughPicturesCASEtool[1],aproduc
ftheInteractiveDevelopmentEnvironmentsCorporation,wasused.
3.ISSUES
Partofthecharterforthereverseengineeringprojectwastodevelopasystematicmethodology
l
iforthereverseengineeringofprogramssimilartoIMCSRS.Becauseofthisspecificobjective,severa
ssuesarose.
1.Thereverseengineeringistargetedatredesign/conversionratherthanatotherpossiblegoals,
dsuchasimprovingmaintainability.Whatimplicationsdoesthishaveonthemethodology
eveloped?
2.IMCSRSwasthefirstsystemtobelookedatforconversion.Therewerenoavailabledata
e
oindicatingtheamountofeffortrequiredtoanalyzeanddescribeasystemofthissize.Onth
therhand,therewasaspecifictimeconstraint:thereverseengineeringhadtobecompleted
winfourcalendarmonths.Whatapproachshouldbetakentothereverseengineeringthat
ouldguaranteeusefulinformationattheendofthetimeperiod?
e3.IMCSRSisatypicaldataprocessingapplication.Whatimplicationdoesthishaveonth
methodology?
4.Theresultsofthereverseengineeringaretobeusedasastartingpointfortwoparallel
s
tredesignprojects.Whatformsshouldthehigh-levelrepresentationstakethatwouldnotbia
hecomparisoninfavorofoneortheotherofthedesignapproaches?
-5.IMCSRSisrelativelysmall,thecodeiscleanlystructured,anddocumentationisreadilyavail
able.Howmustthemethodologybeadaptedtodealwithmoredifficultsystems?
d
rTheapproachthatwaschosenwastop-downandusedavarietyofanalysismechanismsan
epresentations.Thefactthatitwastop-downassuredusofproducingsomeresults,evenifweranout
aoftimebeforecompletelyunderstandingallofthelow-levelimplementationdetails.Theapproachwas
lsomorelikelytogeneratearchitecturalinformationofuseduringredesign.Iftheprojectgoalshad
-
ustressedimprovingtheprogram’smaintainability,ratherthanfacilitatingredesign,thenamorebottom
papproachwouldhavebeenappropriate.Thisaddressedthefirsttwoissues.
s
aThefactthattheapproachtakenusedavarietyofanalysismechanismsandrepresentation
ddressedissues3and4,raisedabove.Amixedapproachhelpedtoavoidbiasingtheredesigneffort
-
candallowedustotakeadvantageofparticularrepresentationmechanismssuitableforthistypeofappli
ation.
ThelastissueisaddressedinSection6.2.
G
44.AMETHODOLOGYFORREVERSEENGINEERIN
.1.Background
Asystematicmethodologyprovidesavarietyofbenefitstosoftwareengineers.Mostimportantly,
pqualityisimproved.Becauseamethodologypreciselydescribestheintermediateandfinalresultsof
roduction,comparisonsarepossiblebetweentheproductsofindependentefforts,andplanningand
,
wschedulingeffortsarefacilitated.Also,becauseuniformproceduresareused,supporttoolscanbebuilt
hichalsocontributetoproductivityandqualityimprovements.Furthermore,uniformityallowstrain-
iingmaterialstobedevelopedsuchastutorialsandcourseware.Finally,amethodologysupports
nterimfeedback.Thiscantaketheformofbuilt-invalidationmechanismstodetectinconsistencyand