Our company has been developing softwares and software systems since 2010. We're also offering IT consulting services and hardware/software sales services.


entis logo entis logo
Non-refundable funding has been granted to our company by The National Research, Development and Innovation Office (NRDIO) in the frame of call „FUNDING TO MICRO AND SMALL ENTERPRISES FOR INNOVATION ACTIVITIES” 2018-1.1.1-MKI, on October 19, 2018.

Grant amount: HUF 45 284 221

Title of our project: "Support for appliction modernisation via automatic source code analysis"

Project implemetation period: December 1, 2018 – November 30, 2019 The project will be implemented in cooperation with NRDIO and funds from NRDI Fund.

The product resulted from the project is a source code analysis software that analyses large and complex Java systems and stores the result of analysis in a database. Further on, it supports the activities of human analysts through an apprporiately designed graphical and textual displaying of the content of the database.
The usefulness of the project result is sector-neutral. It can be utilised in all the sectors of the economy that are equipped with advanced and complicated informatic support systems for quite some time.
We wish to sell the source analysis as a service, not the product itself. Our target customers are Hungarian or foreign companies as owners willing to learn more details of the operation of their Java software systems, or as developers they are interesred in it in respect of e.g. support contracts of further development contracts. As an output of the source analysis service, the customer will have access to the business functions of the software system in question, as well as to all the related business rules transparent for human analysis.

Application Understanding for Java (AU4J)

Modernizing JEE applications

Brownfield investment in community development means the reuse of pre-existing abandoned industrial, commercial or agricultural facilities.

In IT, brownfield investment aims to maintain and further develop an old code basis.

The problem here is not the complexity of new functions or that of the environment. It is rather the lack of a thorough understanding of the operating system from both business and IT point-of-view. Both the experts in this field and the authors of the genuine code would be required. However, they are hardly or not at all availabe.

Application Understanding for Java (AU4J) is an application designed for the solution of the above problem.

Nowadays, numerous excellent tools are at the disposal of developers to support the mapping and recovering of the code. They are built from top to bottom to follow the control structure of the programme. However, the control structure is hard to follow and can become complicated and cofused in a short time.

As a contrast, the Allication Understanding for Java (AU4J) applies a completely different and new approach.

Here the focus is not on the control, it is rather on the data with changing the direction of the analysis:

  • It identifies the output endpoint where persistant data are created, e.g. a new record in a database table of file.
  • Then, proceeding from behind to back, it finds those frangments of codes that lead to the output endcode and participate or can participate in producing persistant data. In the meantime, the complexity of system shell and architecture is terminated, and the resulting code called flow comprises the busines logic only.
This code extract opens up the way to a comprehensive refactor that relies on a new system shell and new architecture.

Fuctions of Application Understanding for Java (AU4J)



Scanning, comprehensive examination and analysis of the application on the basis of the source code.


Following the analysis, the hierarchy of the modules of the application is shown in a tree format.

Invocation map

All the codes to the methods of the examined application is listed in a way to triger the given method.

Dead Codes

Code elements not used in the application are identified. The recursive algorithm also filters out codes called not used code elements.


The list of application entities are displayed. The structure of the relating entities can be opened on the list next to each other.


All the named and in-line query of the application is listed. Both the JPQL and the SQL generated from it is displayed.

SQL Finder

It is often reqired by operators to find the source of SQL command read from the diary. Based on the SQL, this function identifies and returns the command of query, and with a click it displays the entire code of the method.


The name of the function stems from a medical diagnostic procedure called angiography. It shows by endpoints the relating code elements. In case of output endpoint, it paints the codes (selected colour) participating in producing them, whereas, in case of input endpoint, the codes that participate in the processing are painted.

Impact analysis

AU4J is connected to the version handling software storing the source code. In case of source code modification, the sofware indicates to the commit identifier, wich user functions (user cases) are to be tested, insteaf of the entire regressional testing of the modifies application. Applying this function will save meaningful resources for both operators and developers.

Security Analysis

AU4J provides important answers in security related questions. Security experts and decent hackers point to the vulnerable points of the system, if any. In other words, they signal the PRICE of a potential break-in. However, they have no information either on the VALUE that can be gained from a break-in or the demage to suffer. Only the specialists of this field can tell. In case the value is attached to the database by the relevant specialty, AU4J will display such entry points. In other words, it will show quantitatively to wthat extent the individual entry points are critical from security point of view.

Whos is this application developed for

Application Understanding for Java is a useful tool for

  • system operator IT experts,
  • software developers and system analysts responsible for system support,
  • experts planning to further develope or modify systems and
  • business and professional system users.
It is designed to uniquely demonstrate that an integral application

  • how can be devided into independent modules or micro services;
  • what kind of dead codes contains;
  • examines the impact of a modification (correction or new development) on security, and instead of a full regressional test, which use cases are sufficient to examine;
  • significantly expedites the identification of errors in the course of operation;
  •  can grade the application entry points in respect of the potential size of demage that can be caused through them, and can indicate to what extend the entry points are critical from security point of view.

Development of Application Understanding for Java

The methods and algorithms of AU4J rely on similar applications developed earlier for COBOL, RPG and Natural programme laguages. The AU4J project aims to incorporate the accumulated knowledge in Java programme language as well.

The project will be implemented in the frame of Funding to Micro and Small Enterprises for Innovation Activities under No. 2018-1.1.1-MKI-2018-00148. The completion date of the project is November 30, 2019. However, we are planning to further develop the product on a continuous basis.


The purpose of this investment is to improve the DocEnt general corporate document management system and make it suitable for international sale. DocEnt is a simple document management system that, on the client side, offers the high-level user experience of a thick client.
Compared to the storage of documents in a shared file system, it offers additional services especially in terms of sophisticated privilege and version management and extensible descriptive data fields.
DocEnt does not include built-in workflow management. The status management of the documents is restricted to lock/unlock and finalize.
The DocEnt system is accessible for registered users only. The software can integrate with the internal directory of the organization (i.e. Active Directory) in which case, identification and log-in will be managed by the directory server.
The privileges for document access are managed by the admin. The admin classifies users into 3 groups with different types of privilege (”reading”, ”writing”, or “all” ) for the directories and specific files of the document library. You can specify whether directory-level privileges can be recursively valid for the sub-directories, too.
For each user, DocEnt manages bookmarks that can point at directories and specific documents to provide quick access to them. Users can add files and directories (with sub-directories and contents) to their own bookmarks. If users get privileges to a directory whose parent directory they do not have access to, then the directory will be placed among the users’ bookmarks to be accessible by them.
DocEnt supports the usual file operations: upload files, create directory, delete and copy files/directories, cut/paste files/directories, rename files/directories, update the displayed contents of a directory.
You can add any number of texted tags to the DocEnt files. Tags are of use when you search for documents.
You can also add any number of attributes to the directories. That makes sense when you wish to classify the texted data added to the files/directories and pre-define the possible values. Attributes (and their possible sets of values) must be previously created by the admin. Only previously created attributes can be added to the files/directories.
Files inherit the compulsory data fields assigned to the directory. When attributes are assigned to a directory, you can select whether
  • to assign the attribute also to the included directories
  • to assign the attribute also to the included files