ycoady / UVic-Software-Evolution

Welcome to our extravaganza in software (r)evolution!!!
Creative Commons Zero v1.0 Universal
6 stars 0 forks source link

Lab 1: Tools for our (R)evolution #2

Open ycoady opened 9 years ago

ycoady commented 9 years ago

Let's create a great list of tools that people might be able to use in their projects!

Please provide links to tools you think are cool, and any info at all you have on if they are reasonable to set up and run!

Hoverbear commented 9 years ago

Writing JS code? Do yourself a favor and let a computer look at your callback hell before you try to debug it: http://jshint.com/. There are tools to integrate this with your editor, IDE, build system, etc.

Grunt is a flexible, customizable task runner mainly intended for Nodejs projects. You can use it to hook together many modules. Gulp is an alternative.

unit.js for testing.

CasperJS for automated browser orcestration.

jordan-heemskerk commented 9 years ago

RaphaelJS is a toolkit for working with SVG in JavaScript. It could be useful for creating custom visualizations that are lightweight and portable.

BrodyHolden commented 9 years ago

If you like being forced into formatting your JS a particular way, jslint.com is another good JS linter.

paulmoon commented 9 years ago

Paul Moon & Jian Guan & Jonathan Lam

Version control: Git, Subversion, Mercurial

Version control is crucial for managing software evolution as it grows, because it:

Package management: npm, pip, apt-get

Documentation: ArgoUML, javadoc

Testing: JUnit, Cucumber

Code Analysis: IntelliJ IDEA, Pylint

davidsjohnson commented 9 years ago

Reposting info from CourseSpaces (thanks Brody and Devin)

Grouce http://code.hootsuite.com/what-6-years-of-a-hypergrowth-codebase-looks-like/ https://code.google.com/p/gource/

Logstalgia https://code.google.com/p/logstalgia/

eburdon commented 9 years ago

If you want/need to analyze source code, Objective Caml may help (specifically omcallex, lexer/parser)

Download:

https://ocaml.org/docs/install.html

Useful link:

http://caml.inria.fr/pub/docs/oreilly-book/pdf/chap11.pdf

Examples:

http://plus.kaist.ac.kr/~shoh/ocaml/ocamllex-ocamlyacc/ocamllex-tutorial/sec-ocamllex-some-simple-examples.html https://realworldocaml.org/v1/en/html/parsing-with-ocamllex-and-menhir.html).

knowlesc commented 9 years ago
ghost commented 9 years ago
Detecting memory leaks in C
For analyzing Python projects
For analyzing C# projects (copied from StackOverflow answer)
Code violation detection Tools:
Quality Metric Tools:
Checking Style Tools:
Duplication Detection:
General Refactoring tools

\ Chris Cook, Richard Claus, Sarah Nicholson

PolloDiablo commented 9 years ago

Text Analysis Tools:

Jeremy Kroeker

fraserd commented 9 years ago

callcatcher is a tool that shows which functions/methods have been defined but are not used. It works with C++ and maybe C code.

BrodyHolden commented 9 years ago

Mocha.js for test running in the browser and nodejs. Istanbul which performs code coverage in node.js and works with mocha.js

kmadrick commented 9 years ago

Here's a JsLint Plugin for Eclipse. And Moose.

RobertLeahy commented 9 years ago

Cppcheck is a static analysis tool for C/C++ code that I've used personally.

Clang makes many aspects of its C/C++ compiler available modularly, allowing for programmatic analysis of C/C++ source code (i.e. get off the ground quickly designing custom tools).

Address Sanitizer can be compiled into programs to find issues with memory such as use after free, overflows, et cetera (I've used this tool personally to great effect).

A tool like GitVersionTree can be used to visually analyze the structure of a large repository, allowing you to find highly active/long-lived branches, large clusters of merges, et cetera.

MisterPotter commented 9 years ago

Frameworks

Performance

Automated Testing

Tyler Potter, Mitchell Rivett

DigitalCoffee commented 9 years ago

For Visual Studio: -Code Lens: Allows you to see past changes to a piece of code, can create a code map to show references to your code, and find unit test for your code. All of this is done within the editor. -AnkhSVN: Subversion support for Visual Studio.

Metrics Grimoire: obtains data from repositories. vizGrimoire: Analyze and visualize the data from Metrics Grimoire.

Trac: Project management and bug tracking tool. GitHub-Analytics: Basic Github Issue Analytics Everhour: Time tracking and analysis of github issues

Andrew Hansen & Devin Corrigall

JorinDW commented 9 years ago

Pitchforks: (http://img3.wikia.nocookie.net/__cb20120407173706/mlp/images/d/dc/PonyMaker_Hammer.png)

Torches: (http://img3.wikia.nocookie.net/__cb20120407173706/mlp/images/d/dc/PonyMaker_Hammer.png)

Jarchitect: http://en.wikipedia.org/wiki/JArchitect

Confluence(Project Documentation): https://www.atlassian.com/software/confluence

Doxygen: http://www.stack.nl/~dimitri/doxygen/

Brandon Leech, Brayden Arthur, Jorin Weatherston, Chris Life

gregnr commented 9 years ago

Greg Richardson, Parker Atkins, and Rabjot(RJ) Aujla

Issue project tracking

Version control

Dependency tracking