ANZ and SD Australia and New Zealand Bank Australia and New Zealand Bank uses Semantic Designs tools to gain a deep understanding of their core banking systems.
Natural/ADABAS Migration Applications coded in Natural or that use ADABAS often run critical business operations. Yet they are becoming difficult to maintain due to lack of available skilled people, and increasingly expensive to support in terms of licensing and mainframe costs.
Google TechTalk: Dr. Ira Baxter Techtalk The purpose of analysis is to support "change". This talk will describe the DMS Software Reengineering Toolkit, a general purpose source code analysis and transformation system.
B-2 Embedded Systems Migration B2 Bomber Read how SD's automated tools were used to refresh mission critical software for the Air Force's strategic aircraft.
VHDL Tools You have synthesis and simulation tools, but other tools can help speed your design process. SmartDifferencing allows you to understand what exactly got changed, and avoid wasted simulations. IP protection enables you to ship your designs to others. VHDL parsers enable you to build custom generators and checkers.
SmartPhone Software Test Smartphone Software Testing SD's test tools are being used successfully for multiple mobile computing platforms.
CERN Talk: You Know the Science But Do You Know the Code? You've spent a lifetime learning the science that comprises your field. You're not a programmer, but you've written programs to model, test, or simulate the science. You expect the results to be accurate, but code is often full of surprises.
(System) Verilog Tools Time to market matters, so additional tools can help. You can avoid simultations if a design change isn't semantically interesting. Shipping IP to customers is scary without protection. Finding your way around in a million lines mixed Verilog and/or VHDL is hard. We can help.
Style Checking Finding code that violates good design principles or organization style rules speeds development and lowers long-term maintenance costs.
Software Metrics Tools Software metrics are a special kind of analysis focused on measuring the complexity of the source code based on its structure. Classic software metrics range in variety from the very simple Source Lines of Code (SLOC) to more complex measures such as Cyclomatic Complexity for measuring the complexity of conditional logic and Halstead Complexity for measuring the complexity of inline computation.
Legacy System Migration Legacy means "successful". Software runs companies, and cannot simply be waved away with a magic wand. Whatever the existing software does must be preserved.
Test Coverage Tools Test Coverage SD's test coverage tools make it clear what code has been tested and what code has not. Incremental coverage minimizes the costs of re-running tests. Works with workstations and embedded systems.
SystemC Tools Harnessing SystemC's relation to C++ allows SD to provide support for your SystemC design. Test coverage can help you verify that you have exercised your design. Source code browsing enables faster understanding of a particular design element. Formatting can make the design more readable.
Domain-Specific Language Compilers DMS enables the development of sophisticated Domain Specific Language compilers.
Paralyzed? Parallelize! Big projects require lots of cycles. You can achieve more computational efficiency and throughput via parallelism: Let Semantic Designs help you make the most of your processing power.
Large System Source Search Finding where code is in a large software system is hard. Tools that search across many files in multiple computer languages can make this easy, and enhance your ability to do accurate impact analysis.
Language Parsers Semantic Designs offers predefined language front ends ("domains") to enable the construction of custom compilers, analysis tools, or source transformation tools, based on first-class infrastructure (DMS) for implementing those custom tools.
More Effective Testing According the Pareto Principle your customers spend 80% of their time using 20% of the features of your software product. Learn how to identify that 20% and make it bulletproof.
Source Code Formatters Programmers spend 50% of their time looking at code. Poor formatting slows down their understanding and thus the rate at which code gets fixed. Formatting tools establish a consistent, readable style for everyone in your organization.
Agile Testing & Refactoring Quality Assurance is vital in an Agile environment. The Sprint process has its own special challenges. See how SD tools can help with several phases of Agile Quality Assurance.
Cloned Code Detection and Removal Large software systems typically contain 10-25% duplicated code. Changing a code line means there's a corresponding chance the same line exists somewhere else, and failing to fix that will create an expensive bug in the field. Tools that find and track clones help avoid this cost.
Dead Code Detection and Removal Dead code clutters the source and wastes programmer time. Automated tools can find this code and optionally remove it.
Custom HDL Analyzers The DMS Platform provides the tools required to analyze and optimize code written in any HDL.
Refactoring Tools Making changes to code for any language reliably requires precise program analysis and transformation, which explains why refactoring tools are so rare. DMS is up to the job.
Architectural Reshaping Sweeping structural changes to applications (such as inserting a data access layer) are often needed but nearly impossible to do by hand. Automated change machinery can carry out massive changes to accomplish this task reliably.DMS is up to the job.
Obfuscation: IP Protection A source code obfuscator accepts a program source file, and generates another functionally equivalent source file which is much harder to understand or reverse-engineer.
Source Code Browsers Having your system of source code, with its embedded documentation information, and cross reference data all hyperlinked minimizes the time to find and understand code.
Architectural Analysis When you have thousands of modules, databases and screens, just being able to understand how they are related is key to long-term planning and minimizing short-term implementation errors.
Parallel Programming Tools and Languages Threads PARLANSE is an inherently parallel programming language designed to support computationally expensive symbolic applications with medium grain irregular parallelism.
Performance Profiling Tools SD's profiling tools can collect frequency information on basic blocks and/or timing information on functions and methods, to show you where your code spends its time.
For more information: Info@semanticdesigns.com    Follow us at Twitter: @SemanticDesigns