computer-aided software engineering tools – an overview

18
Computer-Aided Software Engineering Tools – An overview

Upload: ibtesam-javed

Post on 31-Dec-2015

32 views

Category:

Documents


1 download

DESCRIPTION

Computer-Aided Software Engineering Tools – An overview. To build complicated system you need complicate tools. Software Tool Summary. Version control Issue Tracking System (bug report system) Performance evaluation Tools Debugging Tools Static Analysis Tools Testing Tools - PowerPoint PPT Presentation

TRANSCRIPT

Computer-Aided Software Engineering Tools – An overview

To build complicated system you need complicate tools

Software Tool Summary

• Version control• Issue Tracking System (bug report system)• Performance evaluation Tools• Debugging Tools• Static Analysis Tools• Testing Tools• Management Tools• Daily Build Tools• ALM (SLM) (Software Life Cycle Management tools)

Version Control

• Major features– Checkout – Commit– Branch– Merge– Conflict detection

Issue Tracking System (Bug Report System)

• Trac (lightweight)• Bugzilla• Other Commercial tools•

Performance Tools• In software engineering, program profiling, software profiling or simply

profiling, a form of dynamic program analysis (as opposed to static code analysis), is the investigation of a program's behavior using information gathered as the program executes. The usual purpose of this analysis is to determine which sections of a program to optimize - to increase its overall speed, decrease its memory requirement or sometimes both.

• A (code) profiler is a performance analysis tool that, most commonly, measures only the frequency and duration of function calls, but there are other specific types of profilers (e.g. memory profilers) in addition to more comprehensive profilers, capable of gathering extensive performance data.

• An instruction set simulator which is also — by necessity — a profiler, can measure the totality of a program's behaviour from invocation to termination.

List of Profilers

Some well-known profilers • DevPartner, • Xperf, • gprof

Gprof (Gnu Prof)

Debugging Tools• Visual Debugger• Debugging Visualization

– DDD– xDIVA

• Remote Debugging• Memory Debugging tools

– Purify – Purify is a memory debugger program used by software developers to detect

memory access errors in programs, especially those written in C or C++. It was originally written by Reed Hastings of Pure Software. Pure Software later merged with Atria Software to form Pure Atria Software, which in turn was later acquired by Rational Software, which in turn was acquired by IBM. It is functionally similar to other memory debuggers, such as Insure++ and Valgrind.

Static Analyzers• Static code analysis is the analysis of computer software that is performed

without actually executing programs built from that software (analysis performed on executing programs is known as dynamic analysis). In most cases the analysis is performed on some version of the source code and in the other cases some form of the object code. The term is usually applied to the analysis performed by an automated tool, with human analysis being called program understanding, program comprehension or code review.

• Tool type– Code reviewer– Security scan

• Example system– Source code analysis - Klocwork

Testing Tools

• Code Coverage – Bullseye

• Test automation tools• Unit testing tools• Capture Recording (applications with GUI)• Stress Testing tools• Load testing tool

Project Management Tools

• Microsoft project

Build Automation System

• Build automation is the act of scripting or automating a wide variety of tasks that software developers do in their day-to-day activities including things like: compiling computer source code into binary code packaging binary code running tests deployment to production systems creating documentation and or release notes

• Comercial tools – Microsoft VSTS• OpenSource – CruiseControl