AU – Application Understanding
This procedure helps you to identify the functions of your systems.
Application Understanding (AU) is a tool that extracts business logic and other relevant information from source code. But it is also the method we use to analyze your systems.
The Application Understanding procedure can be used independently of the Business Flow Suite, our modernization tool. This procedure helps you to identify the functions of your systems.
The source code is the truth!
Whatever you want to do with your source code – brownfield it, rewrite the code, or modernize it in another way – you need to know the business logic of your application. Even if a source code is accurately documented, you can never be sure what relationships exist in the code that pose risks.
For this reason, we work according to the concept: “The source code is the truth“.
The Application Understanding method scans your application and extracts the business logic without considering other irrelevant parts, such as logging or management parts.
Code analysis is classically a top-down process. The risk here is that the complexity grows in this direction.
Application Understanding detects the output endpoints in the code.
Our Application Understanding method has the opposite approach: it detects the output endpoints in the code. From here, it goes back and collects all code fragments leading to that data point.
The Application Understanding method can be used for different languages. If you are interested, please contact us at legacy.
Due to the constantly growing number of cloud architectures and the resulting transformations, application requirements and program structures are also changing. Often, transformed applications are not optimally designed for these architectures. Many currently existing Java applications are not exempt from this. Therefore, we have made it our goal to perfectly adapt our existing application understanding to Java.
This tool analyzes and improves the cloud capability of your existing Java code
This resulted in our web-based AU4J (Application Understanding for Java). This tool analyzes and improves the cloud capability of your existing Java code so that you are prepared for the future.
Our AU4J integrates easily with IDE (a JetBrains IntelliJ IDEA plugin is also available). Moreover, it provides several other features besides business logic extraction to support your application maintenance and brownfield development.
Scan & Analysis
Scan, comparative examination and analysis of the application on the basis of the programme / source code.
Modules
After the analysis, the hierarchy of the application modules is displayed.
Dead-Code Analysis
Unused parts of the programme code in the application are identified. The recursive algorithm also recognises code elements that have not been called up.
Entities
A list of application entities is displayed. The structure of these entities can be organised in a side-by-side list.
Queries
All named and in-line queries of the application are listed. JPQL and SQL generations are displayed.
SQL Finder
For various reasons, the source of an SQL query often needs to be found. Based on a specific SQL query, this function identifies the command in the code and returns it. With one click, the complete code of the query is displayed.
Paint
An innovative ‘business rule extraction’ technology based on new processes.
This function takes its name from the medical field of angiography. It uses endpoints to display the connected source code parts. If an output endpoint is found and displayed, the function colours the part of the code that led to this endpoint in a selected colour. This also happens with the input endpoints. Here, the source code sections that lead out of this point and process it are coloured.
Impact analysis
Application Understanding (AU) is linked to the version management system in which the source code is located. If there are changes in the source code, the software uses the commit identifier to indicate which functions (user cases) need to be tested. This avoids a complete, time-consuming regression test. This function saves enormous operational and development costs.
Security Analysis
The AU provides important answers to security-related questions. Security experts and hackers search for and exploit vulnerabilities in systems.
They assess them according to their financial value. However, the value of a system is often not recognised before information is extracted. Here, the damage is often greater than the actual value. This function got its name from the medical field, angiography. It uses endpoints to display the connected source code parts. If an output endpoint is found and displayed, the function colours the part of the code that led to this endpoint in a selected colour. This also happens with the input endpoints. Here, the source code sections that lead out of this point and process it are coloured.
Vocabulary
Collects all terms as names that are used in the application. Guides the user through the context in which different expressions and words are used. This helps to standardise the system and develop a common language base for users and developers. Also allows the developer to mix expressions if the system is not developed in only one programming language.
Cyclomatic Complexity
Shows the average complexity of the elements in the module – class – method hierarchy. This can be used to estimate test efforts and it shows methods that are difficult to maintain in the source code.
Do you have any questions?
Our experts from all areas will support you and provide you with advice and assistance in all matters.
Or take a look at our references.