Code Monkey home page Code Monkey logo

softwareevolutionanalysis's Introduction

Unit Test ROI Analyzer

This repository is a place for project data and source code for the Software Evolution Analysis project for SENG 371 at the University of Victoria. The goal of this project is to come up with an interesting question related to the evolution of software projects, then analysing real code bases to answer it.

For the Final Project Deliverables (Project 2) please see the appropriate Wiki Page

For the February 23rd deliverables, please see the Wiki

Question

Does the volume of unit tests in a project relate to the frequency of bugs?

Setup

Install Node.js and its package manager NPM. See these instructions.

Clone the repository:

git clone [repo url]

Navigate into the repository's directory. Run the command:

npm install

This will download dependencies used by the program into a node_modules directory.

Run the program by entering:

node src/main.js

This project is still in development.

softwareevolutionanalysis's People

Contributors

aujlarj avatar gregnr avatar jordan-heemskerk avatar pcatkins avatar rsaujla avatar

Watchers

 avatar  avatar  avatar  avatar

softwareevolutionanalysis's Issues

Git Submodules show up as Files when counting lines of code

NodeGit seems to treat Git submodules as regular files. When our tool iterates through test files in a commit and comes across a submodule, it breaks. Fix it so that the tool will gracefully exclude submodules when counting lines of code.

Setup pull request workflow

Now that the project is a bit more mature and we have 4 developers contributing, it would be good to start using pull requests so that everyone can get some eyes on the code and know what's going on.

Wrap functionality in issues.js

Wrap current functionality in issues.js into a class so that we can write a main program that uses it to fetch all the issues into a nice array.

Regex expressions to prevent junk console input from user are not working

Currently we have the pattern variable as described below, we just need to implement a check before we assign the console inputs.

    var usernameConfig = {
        name: "username",
        description: "GitHub Username",
        pattern: /^[a-zA-Z\s\-]+$/,
        message: "Username must be only letters, spaces, or dashes"

I can work on this in my FilterIssues branch as I am already working on adding more console options. Any idea which module has the check against regex feature @jordan-heemskerk ?

Error while running the main.js

i cloned our repo on a new laptop and did the npm install as instructed but it gave me this error when i run the code.

bash-4.2$ node src/main.js
module.js:338
    throw err;
          ^
Error: Cannot find module 'nodegit-promise'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:278:25)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/home/rsaujla/seng371/SoftwareEvolutionAnalysis/node_modules/nodegit/lib/nodegit.js:1:77)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)

Title for our tool

Guys, it would be good if we had a proper name for what were building

Result after running Angular and Mozilla-firefox

I ran AngularJS and Mozilla-firefox repositories thought node. it only showed zero lines of code in the commit history. I did input there test folder in Unit test directory. I am not sure if its a bug or if i am not running it correctly.

Output HTML Document Containing Plots

Right now there is no way for the user to view the graphs produced by Plotly. Have the tool output an HTML document that will contain an iFrame pointing to the generated Plotly graph.

If possible, try to have the HTML document open automatically.

Discussion: How to filter issues to represent bugs?

At the moment we just pull all GitHub issues for the project. We need to discuss how we plan to filter the issues to better represent bugs - whether its by label (ie. "bug"), keywords, etc.

Do we want to use the same criteria for all, or allow the user to specify the criteria? Allowing the user the specify the criteria may produce better results since they can do it on a case by case basis.

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.