[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::source_code_analyzer

Title:VAXSCA - VAX Source Code Analyzer
Notice:Current Version: V4.4-04 (see CLT::DECSET Note 4.21)
Moderator:EDSDS6::TOWNSEND
Created:Fri Jan 24 1986
Last Modified:Wed Apr 09 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:851
Total number of notes:3281

850.0. "can SCA help to migrate code ?" by HANDVC::STEVELIU () Thu Mar 13 1997 01:26

    I am using DECmigrate to port applications from VAX to ALPHA,nonetheless,  
 DECmigrate cannot generate a working program when the original program:
    
     o  Uses undocumented interfaces into the operating system
    
     o  Uses user-written system services
    
     o  Has been linked such that code and data are tied to fixed addresses
    
     o  References system memory space
    
     o  Contains privileged instructions
    
     o  Contains vector instructions
    
     o  Was linked on a version of VMS prior to version 4.0
    
     o  Depends on specific VAX architecture features, such as 512-byte page
        granularity
    
     o  Is a shareable image that includes both shared and unshared write-
        able images in the same Alpha AXP page
    
     o  Depends on shared images which have not been translated or recom-
        piled for OpenVMS AXP systems
    
    
    I wonder SCA can be a tool to trap these limitations in the source
    code and if yes, how ? 
    
    since I am talking about over 1,200,000 line of codes, a viable tool
    is essential. DECmigrate only deals with image files, I need a tool
    that deals with the source file.
    
    steve
    
    
    
    
T.RTitleUserPersonal
Name
DateLines
850.1EDSDS6::GLEASONDaryl Gleason, DECset EngineeringThu Mar 13 1997 16:1375
    Hi Steve,
    
    We have very little experience with DECmigrate and thus can't offer a
    great deal of general assistance. However, for specific questions
    regarding the usage of the DECset tools, we can provide some help.
    
    In this case, assuming that the applications are written using
    compilers that generate SCA analysis data, SCA could be used to locate
    many of the kinds of things you're looking for, *provided* that you
    know exactly what you're looking for. For example, SCA can be used to
    generate queries that can locate, say, all references to SCH$* symbols
    or other symbolic references to data structures in system space.
    However, SCA doesn't know on its own which symbols refer to system data
    structures and which don't; you have to formulate explicit symbolic
    queries.
    
    I'll go down your list and describe how I think SCA may be able to be
    of assistance. However, a lot of my suggestions will depend on the
    naming conventions used in the code. In general, if specific naming
    conventions have been followed, then SCA can be used to locate routines
    and references by those naming conventions. Conversely, if no naming
    conventions have been followed, SCA will be far less useful.
    
>o  Uses undocumented interfaces into the operating system
    
    SCA doesn't know about these inherently; you'd have to query based on
    naming conventions (if there are any).
    
>o  Uses user-written system services
    
    Likewise.
    
>o  Has been linked such that code and data are tied to fixed addresses
    
    SCA does not know about fixed addresses.
     
>o  References system memory space
    
    These can be queried symbolically, but you'll need to know which
    symbols you're looking for. You can use wildcards.
    
>o  Contains privileged instructions
    
    I can't think of a way to use SCA to identify this.
    
>o  Contains vector instructions
    
    Same here.
    
>o  Was linked on a version of VMS prior to version 4.0
    
    SCA doesn't know anything about the link process; it's strictly a
    Source Code Analyzer.
    
>o  Depends on specific VAX architecture features, such as 512-byte page
>granularity
    
    This would be hard to identify unless coding conventions have made
    this type of dependency recognizable.
    
>o  Is a shareable image that includes both shared and unshared write- able
>images in the same Alpha AXP page
    
    SCA can't help here.
    
>o  Depends on shared images which have not been translated or recom- piled
>for OpenVMS AXP systems
    
    Here either.
    
    
    I hope this is helpful. Please let us know if you have any further
    questions.
    
    -- Daryl