{'fraction_non_alphanumeric': 0.02593192868719611, 'fraction_numerical': 0.0016207455429497568, 'mean_word_length': 5.4375, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Using object-oriented algebraic nets for the reverse engineering of Java programs: a case study

The problem addressed in this paper is the following: how to use high-level Petri nets for the reverse engineering of implemented distributed applications. The paper presents a reverse engineering methodology applied on a real (simple) Java applet based client/server application. First, starting from the Java program, several abstraction steps are described using the CO-OPN/2 formal specification language. Then, the paper presents brand new research that studies property preservations during the refinement process.