Using this interface, a user can analyze a dependency file generated by various 3rd party tools such as Depends. Using this function, the user can analyze dependencies among various software artifacts, such as components, libraries, or test suites, as long as the dependencies among them can be extracted and represented using the standard JSON (download an example) or XML format (download an example

The user can enter the following information: 

  • The name of the project. DV8 will generate a project (.dv8-proj) file and an architecture analysis report, and will use this name to refer to the project. 

  • A dependency file, which can be one of the following formats: 
    • A .json file, which could be exported by Depends or other 3rd party tools (download an example)
    • A .xml file, which could be exported by Depends or other 3rd party tools (download an example)
    • A .dv8-dsm file generated by DV8
    • A Cytoscape .xml file generated by Understand 
      • The user can obtain a Cytoscape dependency file as follows: 

1) Load a project into Understand 

2) Use the following menu to general a  Cytoscape XML report

Reports -> Dependency -> File Dependencies -> Export Cytoscape XML

The user can generate dependency information among artifacts using various tools. As long as it follows the standard JSON or XML format, it can be opened and analyzed using DV8. 

  • The output folder that will contain the analysis results. Please refer to "Understanding the analysis results" section for details. 
  • The prefix within the file path that needs to be removed. 
    • This function is used to match file names in source code and in Git repo. For example, a source file in a local folder may start with "c:\opensource\apache\avro\", while in the Git repo the file may start with "\apache\avro". In this case, the user can enter "c:\opensource\" for this prefix to be removed from the analysis, so that the system can match source files with their names in the repository. 

After the input file is specified, the user can either 

  • click the button to start analyzing, or
  • click the button to enter evolution history information as follows:

    • This UI allows the user to load a log file exported from a version control system, which can be generated as follows: 
      • the user can use either of the following commands to get records from SVN:

      • Or, the user can use following command has to be used to get records from Git:

    • The user can also choose to analyze all the history in the log file, or can specify a time range. 
    • In addition, the use can click the button to load a CSV file that contains a list of issue IDs (download an example) as part of the input. 
      • If a issue list is entered, DV8 will analyze the design structure related to the given list of issues, for example, calculate maintenance hotspots related to these issues, or the file structures related to a selected set of bugs or features. 
      • The user needs to collect these issue IDs manually. If this list is not available, this step can be skipped.

After all the inputs are specified, the user can click the  button to proceed. If all the inputs are correct, the analysis will finish as follows: 

After clicking the button, the user will be given the following options: 

  • View the generated DV8 project in the DV8 GUI: 
    • The analysis will generate a .dv8-proj file that can be used to explore dependencies, simulate changes, and link to the detailed source code info. 
  • View the generated dependency matrices in DV8 GUI: 
    • The user can use this option to open a DSM file that only has dependency information but does  not contain detailed source code information 
  • Open the analysis results folder
  • Analyze a different project: this option will return to the first GUI allowing the user to analyze another project.