• DocumentCode
    251881
  • Title

    Fact extraction from bash in support of script migration

  • Author

    Davis, Ian J. ; Holt, Richard C. ; Mraz, Ron

  • Author_Institution
    Sch. of Comput. Sci., Univ. of Waterloo, Waterloo, ON, Canada
  • fYear
    2014
  • fDate
    3-6 Feb. 2014
  • Firstpage
    363
  • Lastpage
    366
  • Abstract
    Owl Computing Technologies provides software and hardware that facilitates secure unidirectional data transfer across the Internet. Bash scripts are used to facilitate customer installation of Owl´s client/server software, and to provide high level management, control, and monitoring of client/server interfaces. With the evolution of more robust scripting languages, Owl now wishes to convert their bash scripts to other scripting languages. As part of this conversion exercise the configuration and customization of their bash scripts will no longer involve direct end user modifications of the script logic. It will instead be achieved through appropriate modification of a supporting XML configuration file, which is read by each script. This avoids the risk that end users erroneously change scripts, and makes legitimate end user customization of their scripts simpler, more obvious, and easier to discern. An open source fact extractor was implemented that determines the dynamic usage made of every variable within an arbitrary bash script. This tool reports errors in a script and generates an XML configuration file that describes variable usage. Those variables whose value may not be assigned by an end user are manually removed from this XML configuration file. A second program reads this configuration file, generates the appropriate bash variable assignment statements, and these are then applied within bash by using the bash eval command. Collectively this provides a simple mechanism for altering arbitrary bash scripts so that they use an external XML configuration file, as a first step in the larger exercise of migrating bash scripts to other scripting languages.
  • Keywords
    XML; authoring languages; client-server systems; public domain software; systems re-engineering; Bash eval command; Bash script configuration; Bash script customization; Bash script migration; Bash variable assignment statement generation; Owl client/server software; Owl computing technologies; client/server interface control; client/server interface management; client/server interface monitoring; external XML configuration file; open source fact extractor; robust scripting languages; secure unidirectional data transfer; Computers; Educational institutions; Manuals; Runtime; Servers; Software; XML; autonomous re-engineering; bash; customization; fact extraction; parameterization; refactoring;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014 Software Evolution Week - IEEE Conference on
  • Conference_Location
    Antwerp
  • Type

    conf

  • DOI
    10.1109/CSMR-WCRE.2014.6747195
  • Filename
    6747195