1 / 18

Computer-Aided Software Engineering Tools – An overview

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

lula
Download Presentation

Computer-Aided Software Engineering Tools – An overview

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer-Aided Software Engineering Tools – An overview

  2. To build complicated system you need complicate tools

  3. 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)

  4. Version Control • Major features • Checkout • Commit • Branch • Merge • Conflict detection

  5. Issue Tracking System (Bug Report System) • Trac (lightweight) • Bugzilla • Other Commercial tools

  6. 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.

  7. List of Profilers • Some well-known profilers • DevPartner, • Xperf, • gprof

  8. Gprof (Gnu Prof)

  9. 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.

  10. 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

  11. Testing Tools • Code Coverage • Bullseye • Test automation tools • Unit testing tools • Capture Recording (applications with GUI) • Stress Testing tools • Load testing tool

  12. Project Management Tools • Microsoft project

  13. 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

More Related