This case study illustrates how Semantis Information Builders GmbH uses Excelsior JET to prevent reverse analysis of their Eclipse RCP applications incorporating vital Intellectual Property.
Excelsior JET for Eclipse RCP case study
By: Matthias Mecky, Head of Software Development
Semantis Information Builders GmbH
Due to the very nature of the Java technology, Java based applications and products may be considered as open source software to some degree. The resulting Java bytecode is like an open book for reverse analysis and reverse engineering. Hence, steps have to be taken in order to protect the intellectual property of a software house as well as to protect the businesses of its customers against analysis.
Semantis Information Builders GmbH concentrates heavily on Artificial Intelligence based software products for decision support systems applying a rich set of methods and techniques from Knowledge Processing and Computational Intelligence. Semantis’ Raptor Diagnostic Suite is truly a cutting-edge software product. It deals with intelligent diagnosis, repair and verification of complex engineered systems such as modern vehicles or airplanes etc. by integrating multiple diagnostic inference engines in order to identify and fix the deepest causes of symptoms, failures and malfunctions. Furthermore, it is able to learn automatically from experience.
Typically, this product is designed for usage within big industrial companies as e.g. car manufacturers. The screenshot in the foreground shows a snapshot during a diagnostic session where a modern vehicle is under test. The screenshot in the background shows a portion of the diagnostic authoring environment.
The Raptor Diagnostic Suite is implemented as a set of Eclipse RCP applications taking advantage from many RCP features. Like other technology-driven companies we had to think about how to protect our key knowledge and expertise against reverse engineering in order to stay a step ahead in a very competitive market. Therefore, we searched for a product being capable to convert our products into a non-reengineerable form. We found this product with Excelsior JET.
For test purposes we used the trial version for a first compilation of our product – and it worked immediately. The compiled product comes along with a built-in JVM and JRE. Also embedding frameworks as Spring or Hibernate as well as DLL components from third parties into the product works seamlessly and without problems. Integrated wizards such as JET Control Panel and JetPackII guide the user through the entire build process. Due to many predefined but editable settings of parameters the build process turns out to be rather effective. Moreover, it is possible to create build scripts to automate the build process e.g. for future product releases.
To round out the picture, Excelsior JET offers a series of useful little features as e.g. to create trial versions of a product for a limited period of time. In summary we can state that the Excelsior JET product has exceeded our expectations.