Extract

Aus SDQ-Wiki

Extractor: quick overview

Extractor, is an approach for automatic usage model extraction. It extracts the static architecture of a system, augments it with the behavioral information obtained from control-flow analysis of its components and test cases, and generates the system's usage models. These usage models enable researchers to conduct a broad area of experiments which otherwise requires having access to already available usage models or manually crafting ones. These experiments fall into a large spectrum spanning over fault tolerance analysis, reliability analysis, stress testing, performance prediction, and even more subjective quality related aspects of a system such as responsiveness and usability.

Get Extract

ARCADE

ARCADE can be used as it is. It can be downloaded here: [1] A manual how it can be used can be found here: [2]

Prepare Development Environment

To get Extract you have to follow the following instructions. The first step to run Extract or contribute to the development is to prepare the development environment:

  1. Download and run the Mars release of Eclipse Modeling Tools
  2. Install Subversive (SVN Team Provider) and a svn connector (e.g. SVN-Kit) using the Eclipse Marketplace
  3. Install JaMoPP 1.4.1 from the nightly update site called "update_trunk" (do not use the Eclipse Marketplace as this will give you JaMoPP 1.4)
    • we did some performance optimizations to JaMoPP. If you want to have this code clone our fork from JaMoPP from the following link: JaMoPP Fork
  4. Install the "Palladio Bench Core Features" from the PCM release update site
  5. To get the source code framework you have to:
    • import the Team Project Set (user: anonymous password: anonymous) and references to all projects from the svn repository (user: anonymous password: anonymous)
      • Package Explorer context menu: Import - Team - Team Project Set - URL
      • If you cannot import directly from svn, try to save the Team Project Set and to import from disk

Run Extract

After you set up Extract correctly you can run it as follows with one of our test projects:

  1. download the following file: Test projects. You need a program that is able to extract 7zip files to extract the archive. For Windows you can use [3]. Within the file you find a lot of projects and the output of extracted files using Extract.
  2. Within the ConfigurationFile you can find configuration files.
    • a configuration file specifies the information for the project you want to investigate, e.g. the source code path
    • you can adapt the provided configuration files to work on your local machine by setting the correct path
  3. In your Eclipse: create a new run configuration and choose the main Arcade2PCMWorkflow.
  4. In the Argument tab you need to specify the path to the configuration file, which you like to execute
    • We also recommended to specify the memory the program can use. You can do this by adding, for example, -Xms1024m -Xmx4096m to the "VM arguments" section in the Arguments Tab of your new configuration.
  5. now you can run the program. After it has finished you can find the output in the output folder you specified in the configuration file.

Evaluation Data

  • we conducted a case study to show the i) that we are able to create correct usage models for CoCoME, a project with already existing use cases and tests that cover the use cases, and ii) the scalability of the approach for real world software projects
  • the input data as well as the resulting files can be downloaded here (Note: the file is about 400 MB).
  • You need a program that is able to extract 7zip files to extract the archive. For Windows you can use [4].
  • You can see the results for the projects in the project folders.
  • The usage models, for example, we extracted for CoCoME are in the CoCoME folder.