YOU'RE LOOKING FOR A NEEDLE IN A HAYSTACK. WE'LL HELP … · Ensure software development meets time...
Transcript of YOU'RE LOOKING FOR A NEEDLE IN A HAYSTACK. WE'LL HELP … · Ensure software development meets time...
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.
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.
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.
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.
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.
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
+ 49 - 331 - 7062 341
www.softwarediagnostics.com
+ 49 - 331 - 7062 340