18
Computer-Aided Software Engineering Tools – An overview

Computer-Aided Software Engineering Tools – An overview

  • Upload
    lula

  • View
    52

  • Download
    0

Embed Size (px)

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

Citation preview

Page 1: Computer-Aided Software Engineering Tools – An overview

Computer-Aided Software Engineering Tools – An overview

Page 2: Computer-Aided Software Engineering Tools – An overview
Page 4: Computer-Aided Software Engineering Tools – An overview

To build complicated system you need complicate tools

Page 5: Computer-Aided Software Engineering Tools – An overview

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)

Page 6: Computer-Aided Software Engineering Tools – An overview

Version Control

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

Page 7: Computer-Aided Software Engineering Tools – An overview

Issue Tracking System (Bug Report System)

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

Page 8: Computer-Aided Software Engineering Tools – An overview
Page 9: Computer-Aided Software Engineering Tools – An overview

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.

Page 10: Computer-Aided Software Engineering Tools – An overview

List of Profilers

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

Page 11: Computer-Aided Software Engineering Tools – An overview

Gprof (Gnu Prof)

Page 12: Computer-Aided Software Engineering Tools – An overview

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.

Page 13: Computer-Aided Software Engineering Tools – An overview
Page 14: Computer-Aided Software Engineering Tools – An overview

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

Page 15: Computer-Aided Software Engineering Tools – An overview

Testing Tools

• Code Coverage – Bullseye

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

Page 16: Computer-Aided Software Engineering Tools – An overview

Project Management Tools

• Microsoft project

Page 17: Computer-Aided Software Engineering Tools – An overview

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

Page 18: Computer-Aided Software Engineering Tools – An overview