Computer-Aided Software Engineering Tools An overview
Slide 2
Slide 3
Slide 4
To build complicated system you need complicate tools
Slide 5
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)
Slide 6
Version Control Major features Checkout Commit Branch Merge
Conflict detection
Slide 7
Issue Tracking System (Bug Report System) Trac (lightweight)
Bugzilla Other Commercial tools
Slide 8
Slide 9
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.software
engineeringdynamic program analysisstatic code analysisoptimize 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.memory profilers An instruction set
simulator which is also by necessity a profiler, can measure the
totality of a program's behaviour from invocation to
termination.instruction set simulator
Slide 10
List of Profilers Some well-known profilers DevPartner, Xperf,
gprof
Slide 11
Gprof (Gnu Prof)
Slide 12
Debugging Tools Visual Debugger Debugging Visualization DDD
xDIVA 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.memory
debuggersoftwareCC++Reed HastingsPure SoftwareRational
SoftwareIBMInsure++Valgrind
Slide 13
Slide 14
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.analysis of computer softwaredynamic analysissource
codeobject codeautomated toolprogram comprehensioncode review Tool
type Code reviewer Security scan Example system Source code
analysis - Klocwork
Slide 15
Testing Tools Code Coverage Bullseye Test automation tools Unit
testing tools Capture Recording (applications with GUI) Stress
Testing tools Load testing tool
Slide 16
Project Management Tools Microsoft project
Slide 17
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 testsscripting compilingsource code deployment
to production systems creating documentation and or release notes
Comercial tools Microsoft VSTS OpenSource CruiseControl