Giter Club home page Giter Club logo

arta's Introduction

ARTA: Automatic Requirement Testability Analyzer

ARTA_logo

Software testability is the propensity of software artifact to reveal its existing defects. Software requirements are crucial artifacts in developing software. Requirements specifications are used in both the functional and acceptance testing to ensure that a program meets its requirements. A testable requirement increases the effectiveness of testing while decreasing the cost and time. In this project, we define requirement testability in terms of requirements smells and propose a measuring method. More information are available in the project documentation website.

Demo

ARTA is a research project at IUST Reverse Engineering Laboratory. An online demo of ARTA is available on http://arta.iust-parsa.ir/. You can login with following credential:

  • Demo username: User
  • Demo password: arta@IUST

and watch the examples requirements.

ARTA requirement analyzer module

ARTA Demo 1

ARTA requirement smell labeling module

ARTA Demo 2

Getting started

Prerequisites

MySql

MySQL version 5.6 is required.

install MySql on windows

Download and install using this link.

install MySql on ubuntu

Following instructions on this link.

Python

since project based on python, python version 3.8+ needed.

download python 3.8 for windows from here.

Install

Create a virtual environment

First, install virtualenv

python3 -m pip install virtualenv
cd project_directory
virtualenv env 

Activate virtual environment using:

source env/bin/activate

Install project's requirements

Run

pip install -r requirements.txt

then install necessary packages for textBlob

python -m textblob.download_corpora

Necessary packages on ubuntu

Install necessary packages for mysqlclient on ubuntu using

sudo apt install python3-dev default-libmysqlclient-dev poppler-utils

Project configuration

First, create a mysql database for the project

then create file called local_settings.py in Smella folder

vim Smella/local_settings.py

write following code

DB_USER = 'database username'
DB_PASS = 'database password'
DB_HOST = 'database host'
DB_NAME = 'database name'

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

ALLOWED_HOSTS = ['*']

then apply migration using

python manage.py makemigrations
python manage.py migrate

then create a super-user for admin page

python manage.py createsuperuser

until the ui fully written, create requirements and projects using admin page "/admin/"

Running Project

run project using

python manage.py runserver

Insert Dataset

insert dataset the using.

python manage.py insert_date <location of json file> <a project name for this dataset>

Used Datasets

Publication(s)

News

  • 2024-04-28: The ARTA (automated requirements testability analyzer) tool's full implementation is now publicly available.

  • 2021-10-20: Initial/partial release. The full version of source code will be available as soon as the relevant paper(s) are published.

Read more

Visit project website at https://m-zakeri.github.io/ARTA

arta's People

Contributors

m-zakeri avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.