From 7edd56f60129a0fd9ab984e75a1e9a0d320545ba Mon Sep 17 00:00:00 2001
From: Emmanuel Hainry <emmanuel.hainry@loria.fr>
Date: Wed, 12 Feb 2020 14:50:34 +0100
Subject: [PATCH] Update Readme.md

---
 Readme.md | 36 ++++++++++++++++++++++++++++++------
 1 file changed, 30 insertions(+), 6 deletions(-)

diff --git a/Readme.md b/Readme.md
index 95537f7..df52c7a 100644
--- a/Readme.md
+++ b/Readme.md
@@ -1,5 +1,11 @@
 # ComplexityParser
 
+ComplexityParser is a static complexity analyzer for Java programs based on tier-based typing following [^HP15][^HP18].
+If a program is typable, this guarantees its runtime to be polynomial on the condition that it halts.
+The type inference is automatic; its complexity is linear in the size of the input program in practice.
+
+The code is under the [Apache 2.0 License](https://apache.org/licenses/LICENSE-2.0.txt).
+
 ## Compile
 
 ### With maven
@@ -11,18 +17,36 @@ mvn package
 
 ## Run
 
-Compilation will create an executable jar inside the target/ folder.
+Compilation will create an executable jar inside the `target/` folder that can be run with
+```
+java -jar target/complexity-0.1.jar
+```
+
+Once the application has opened, you are presented with 3 panels:
+1. on the left, the analyzed code
+2. in the center, the parse tree of this code
+3. on the right, the results of the typing inference.
 
-Once the application has opened you can modify the code to be analyzed in the left panel.
-When you click on the update button or press the F6 key the code will be analyzed, the
+The code in the left panel can be edited directly.
+When you click on the update button or press the `F6` key the code will be analyzed, the
 parse tree will be updated and the right panel will show information about (successful or unsuccessful)
 typing operations and the final result.
+If the `Final Result` is 0 or 1, it means that the typing was successful: the code is polytime provided it halts.
+If the `Final Result` is `None`, the typing failed.
 
-`Ctrl - o` can be used to open a file and analyze it instead of writing the
-code in the left panel. The code in the left panel can still be edited but it will
+The `File > Open` menu or the `Ctrl - o` shortcut can be used to open a file and analyze it instead of writing the
+code in the left panel.
+The code in the left panel can still be edited but it will
 have no effect on the loaded file (no changes are or can be saved).
 
 ## Dependencies
 
 This program uses the ANTLR framework to generate a parser, this is the only dependency
-and it will be downloaded automatically if you compile the program with maven.
\ No newline at end of file
+and it will be downloaded automatically if you compile the program with maven.
+
+## Authors
+
+Olivier Zeyen, Romain Péchoux, Emmanuel Jeandel, and Emmanuel Hainry
+
+[^HP15]: Emmanuel Hainry and Romain Péchoux. Objects in polynomial time. In APLAS 2015, LNCS, pages 387–404. Springer, 2015.
+[^HP18]: Emmanuel Hainry and Romain Péchoux. A type-based complexity analysis of object oriented programs. Information and Computation, 261:78–115, 2018.
\ No newline at end of file
-- 
GitLab