180 likes | 397 Views
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
E N D
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
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