YOU'RE LOOKING FOR A NEEDLE IN A HAYSTACK. WE'LL HELP … · Ensure software development meets time...

6
YOU'RE LOOKING FOR A NEEDLE IN A HAYSTACK. »Making Software Development Transparent & Manageable« Software Diagnostics: The Software Intelligence & Mining Company WE'LL HELP YOU FIND IT.

Transcript of YOU'RE LOOKING FOR A NEEDLE IN A HAYSTACK. WE'LL HELP … · Ensure software development meets time...

Page 1: YOU'RE LOOKING FOR A NEEDLE IN A HAYSTACK. WE'LL HELP … · Ensure software development meets time and budget requirements Software Diagnostics Server provides you as a manager with

YOU'RE LOOKING FOR A NEEDLE IN A HAYSTACK.

»Making Software Development Transparent & Manageable«

Software Diagnostics: The Software Intelligence & Mining Company

WE'LL HELP YOU FIND IT.

Page 2: YOU'RE LOOKING FOR A NEEDLE IN A HAYSTACK. WE'LL HELP … · Ensure software development meets time and budget requirements Software Diagnostics Server provides you as a manager with

StudioAt a glance.

Aimed at: Project managers, software architects, software engineers, software

developers and testers; it can also be used as an instrument by system integrators

or IT consultants.

Software Diagnostics Studio can be used for any type of software system in any

programming language, including desktop applications, server applications, or

embedded systems; the studio itself operates as a desktop application.

Developer Edition Find the needle in the haystack.

Aimed at: Software developers, software testers, software project managers,

and software architects.

The Developer Edition cuts the debugging workload significantly, accelerates product

launch times, and reduces potential sources of error during the software development

stage. The Developer Edition makes development processes – for existing and new team

members – transparent and considerably shortens the time necessary to become

acquainted with complex software implementations.

ServerOne for all.

Aimed at: Decision makers, software architects, software analysts,

software quality managers.

Company-wide, real time information for the area of software development

and software maintenance. Analyze the quality and the evolution of your code thanks

to clearly represented software maps. Benefit from this business intelligence solution

for software systems.

Application Logger Avoid bugs and optimize resources. Aimed at: Software manufacturers, software product managers, software

developers, software quality managers, maintenance experts.

Software analysis library that can be integrated into your own software systems and

applications to record system dynamics within the customers' system environments.

The collected data in form of traces give insight into the real customer's usage of the

software; the data can be explored and analyzed using the Software Diagnostics

Developer Edition Enterprise.

Page 3: YOU'RE LOOKING FOR A NEEDLE IN A HAYSTACK. WE'LL HELP … · Ensure software development meets time and budget requirements Software Diagnostics Server provides you as a manager with

StudioAt a glance.

Aimed at: Project managers, software

architects, software engineers, software

developers and testers; it can also be used

as an instrument by system integrators or

IT consultants.

ServerOne for all.

Aimed at: Decision makers, software

architects, software analysts, software

quality managers.

Analyze the quality of your code and how developers change the

code using easy-to-read software maps. Benefit from our

business intelligence solution for software systems. The solution

can be customized for any programming language and any

configuration management system.

Software Diagnostics Studio is a new, innovative solution available

to management for the analysis and efficient improvement of

software systems. This tool enables you to gain better knowledge

and understanding of complex software implementations. In order

to do this, the Studio extracts and fuses data from code bases,

from the configuration management system, and from system

dynamics at runtime.

As such, Software Diagnostics Studio acts as a »software tomo-

graph«. The automatically generated »software maps« offer

fundamental insights into the structure, dynamics and develop-

ment processes of a software system. They can be interactively

configured and produce precise answers on the development

status of the system, the completed development steps and the

system behavior. Doing so, the actual development status of the

system can be precisely measured, the quality of system elements

can be assessed according to specific metrics and problematic

development situations may be more quickly uncovered. Software

Diagnostics Studio delivers integrative statements on the basis of

objective system data and thus provides answers on issues related

to development.

As such, Software Diagnostics Studio helps to reduce maintenance

work, to optimize communication between management and

developers and finally to boost stable, sustainable development.

Software Diagnostics Studio offers the following benefits:

?Increase software quality

?Speed up project decisions

?Optimize employment of development resources

?Evaluate bug fixing measures

?Ensure software development meets time and

budget requirements

Software Diagnostics Server provides you as a manager with

important decision making aids: this solution is an integrated

software intelligence platform for all software development and

maintenance processes within your company as well as in

cooperation with other external suppliers.

The business reality of software development project can be

accurately and comprehensibly presented by numerous

enterprise software systems, which reveal cost centers, lost

working days, and development hours per customer or per

project milestones. The »source code reality« in software

development and maintenance projects, though, cannot be

presented, modeled, and translated in a form suitable for

management to use as a firm basis for decision making.

Software Diagnostics Server fills this gap. This technology

automatically collects information from repositories, executables

and source code and displays it in a form useful to decision

makers such as dashboards or software maps.

Example scenarios:

?Complexity trends

future risks in the program code

?Team Performance

transparent compensation, for example for

software engineers

?IP and dependency risks

assessment of third party libraries in case of

acquisitions or outsourcing undertakings

?Bug fixes

reduce resulting costs and risks while increasing

team satisfaction

Different levels of access are taken into account with the help of

access rights administration. Upon request, key business figures

from enterprise software systems can be taken and summarized

in easy-to-read software maps.

Page 4: YOU'RE LOOKING FOR A NEEDLE IN A HAYSTACK. WE'LL HELP … · Ensure software development meets time and budget requirements Software Diagnostics Server provides you as a manager with

Developer Edition Find the needle in the haystack.

Aimed at: Software developers, software

testers, software project managers, and

software architects.

Application LoggerAvoid bugs and optimize resources.

Aimed at: Software manufacturers,

software product managers, software

developers, software quality managers,

maintenance experts.

Detect bugs after running your application just once: trace the

execution of your code. Use reverse debugging to move forwards

and backwards in time. Software Diagnostics Developer Edition is

the ideal combination between recorder, profiler and debugger

for C and C++ for Visual Studio 2005, 2008 and 2010.

The Developer Edition is a software analysis tool that specifically

and precisely records the dynamics of a software system at

runtime and presents interactive visualizations of the system

dynamics as well as profiling and debugging functions. Due to its

seamless integration, for example in Microsoft Visual Studio,

debugging and analysis activities are considerably accelerated;

productive and focused insights into the system dynamics are

made possible.

Using the Developer Edition dynamics and behavior of complex IT

systems can be efficiently recorded, examined and thus better

understood. In this way, programming work in particular can be

reduced and maintenance is significantly simplified. Specifically,

workload involved in reading and understanding the code can be

reduced, the constant switching between different source code

files can be avoided and the manual step-by-step bug search with

conventional debuggers can be replaced.

?Debugging: The Developer Edition contains a Debugging Tool,

which graphically represents the complete recording of

behaviour at runtime. It can be used with minimal interference

of system execution, even for multithreaded applications.

Tracing may be performed with an automatically or manually

selected level of detail. The traces enable developers to

perform »reverse debugging«. This means that the effect of

bugs and their cause, including their context can be examined

at any desired point on the timeline.

?Implement new features and Feature Change Requests: The

Developer Edition accelerates and facilitates the determination

of »the right point« for new features or alterations to be

inserted into an existing implementation.

?Performance Analysis and Memory Leak Detection: The

Developer Edition enables both the system performance and

memory allocation behaviour to be examined in a high level of

detail for any recorded trace.

Avoid bugs and optimize resources: seamlessly integrate the

Software Diagnostics Application Logger as a software library

into your own software systems and applications. In this way,

you are able to selectively and efficiently record and evaluate

system performance in the customers' system environments.

The Application Logger enables integrated software analysis in

IT systems at the customers' sites. The patent pending tracing

technology of the Software Diagnostics Developer Edition has

been extended to include the Application Logger concept. This

includes innovative processes for obtaining information through

automatic code instrumentation.

Reverse debugging and application logging becomes possible

»in situ«, that is, in the customers' or users' system environments.

Additional levels of information can be prepared for software

business intelligence analysis by Software Diagnostics Studio.

?If bugs, errors, or any other kind of wrong system behavior

occurs, it is often a time consuming process for the software

developer to recreate/reconstruct the observed phenomena

in its developer and testing environments. For example, in the

case of multi-threaded systems it can often take developers

several days until they have revealed which peculiarity of the

customer's environment is causing the error.

The system's dynamics is logged by the application logger at

runtime – in detail at the level of function calls and with

minimal performance overhead. If the customer reports

erroneous system behavior, the software developer is then

able to use the traces/records created to see precisely what

happened in that customer's system. The software manufac-

turer saves time, is able to react much faster and does not

unnecessarily burden the customer relationship through a

trial-and-error search for the cause of the problem, requiring

the customer's time and help.

?Next version of IT solutions can be designed closer to the

customer's real needs. With application logging, we can

determine how users actually use specific features of an

application when the system is operating. A cost/benefit

analysis of the introduction of individual software features

can be better planned based on actual customer behavior.

?On the basis of objective data, which is collected at the

customer's environment about the real system dynamics,

software maintenance works can be better focused.

Page 5: YOU'RE LOOKING FOR A NEEDLE IN A HAYSTACK. WE'LL HELP … · Ensure software development meets time and budget requirements Software Diagnostics Server provides you as a manager with

The »Test Coverage Map« reveals

risky (e.g. highly complex) code

which is insufficiently covered by existing

tests. Through simultaneous monitoring

of developer activities, this software map

enables test and team leaders to effectively

plan tests. In addition, limited test resour-

ces can be focussed on problematic and

risky code areas.

The »Developer Activity Map«

enables a direct assessment of soft-

ware quality in combination with the speci-

fic development progress. The ground area

of a block in the above software map corre-

lates to the future maintainability of the

respective code file, the height with the

activity and the colour with the number of

changes of the developers involved. Code

files which cause unnecessary costs due to

low code quality can be reliably identified.

The »Software Architecture Map«

shows the modular structure of a

software system and reveals dependency

relationships. The system structure is depic-

ted as nested rings. Dependencies are

colour coded according to their direction

and shown as connecting lines between the

elements of the inner most ring.

The »Code Quality Map« reveals

weaknesses in the quality of the

code. Large code files (ground area) with a

high level of complexity are automatically

identified (height and colour represent two

standard complexity metrics). The identified

code files present, for instance, a high risk in

terms of further development and mainte-

nance of the system in the future.

Code files which often have to be

corrected in the scope of bug fixes

represent a structural problem for future

development and modification of implemen-

tations. Quality measures applied to these

error-prone areas of code significantly

reduce future costs and risks.

With the help of tracing mecha-

nisms, memory leaks can be spe-

cifically identified. It is shown here how a

function with a memory leak is called

55,715 times producing a leak in excess of

60 MBytes. With just one click, you can

jump straight to the error in the source

code and correct it.

The »Call Graph View« uncovers call

relationships and performance bottle-

necks. This view enables you not only to re-

veal which parts of the execution of your soft-

ware system are slow but also lets you under-

stand the underlying reasons. Unnecessary

repetitions in the execution are, for example,

quickly identified in the trace, i.e. in the com-

prehensive recording of system behaviour.

In the »Probes Info View«, you can

monitor all parameter values of

function calls. You can quickly identify

incorrect values which have been logged

by the various probe types. With one click

you can jump to the time of execution

when the incorrect variable value first

occurred and thus directly identify the

cause of the error.

With the »Call Stack View«, the time

line of nested functions calls is

shown. You can analyse the precise timing

behaviour of your system. Find errors faster

through reverse debugging: start with the

effect of the bug and analyse backwards in

time to the cause in the code.

Page 6: YOU'RE LOOKING FOR A NEEDLE IN A HAYSTACK. WE'LL HELP … · Ensure software development meets time and budget requirements Software Diagnostics Server provides you as a manager with

Software Diagnostics GmbH

August-Bebel-Str. 26-53

D-14482 Potsdam

Germany

About Software Diagnostics

The »Software Intelligence & Mining Company«, Software Diagnostics, based in Potsdam, Germany, is a spin-off of Hasso-Plattner-

Institute for IT systems engineering (www.hpi-web.de). The company's mission is to make software development and maintenance

projects transparent and manageable on the basis of »source code reality«.

Keep track of things: the patent-pending tracing technology allows software developers to record the internal activity of a software

system whilst it is running and to trace all executed functions. This leads to the next evolutionary step in debugging and the

understanding of system behavior. The solutions are seamlessly integrated into IDEs such as Visual Studio or Eclipse.

Leverage knowledge on the »source code reality«: software engineering data is extracted from complex software systems, analyzed

using data mining techniques and then made available as an integrated software intelligence platform for all software development

and maintenance processes both in-house and in cooperation with external service providers.

Benefit from valuable decision making information: unlike conventional tools, the products of Software Diagnostics meaningfully

combine the assessment of source code, dynamic runtime analysis and code repositories in the form of »software maps«. These

enable you to 'see' a system with its architecture and development processes as a whole and provide decision makers and developers

for the first time with valuable information on which to base their software development and maintenance decisions across the

entire software system's life-cycle.

Software Diagnostics, Software Diagnostics logo, Developer Edition and Studio are trademarks or registered trademarks of Software

Diagnostics GmbH, Germany and other countries. All other company and product names are the property of their respective owners.

© 2011 Software Diagnostics. All right reserved.

Tel

Fax

Web

E-Mail

+ 49 - 331 - 7062 341

www.softwarediagnostics.com

[email protected]

+ 49 - 331 - 7062 340