From bbfb771ed0abf2cac979a6968ac6469d0570ae3c Mon Sep 17 00:00:00 2001 From: James Yoo <jyoo980@gmail.com> Date: Thu, 28 Sep 2023 18:11:42 -0700 Subject: [PATCH 1/4] Update manual with subsection for WPI results --- docs/manual/inference.tex | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/manual/inference.tex b/docs/manual/inference.tex index 0347926af72..d4291b64601 100644 --- a/docs/manual/inference.tex +++ b/docs/manual/inference.tex @@ -229,6 +229,22 @@ You may need to wait a few minutes for the command to complete. +\subsectionAndLabel{Whole-program inference results}{wpi-results} + +The result of invoking \<wpi.sh> are log files stored in the \<dljc-out/> folder +of the target project. +The \<dljc-out/> folder contains: + +\begin{itemize} +\item \<build\_output.txt>: Logs collected from compiling the target project + using the build file found at the top-level directory. +\item \<javac.json>: TODO +\item \<stats.json>: Statistics from the invocation of \<wpi.sh> on the target + project, including build time, the number of built \<.jar> files, the number of + executable \<.jar> files, the number of \<javac> invocations, and the number of + source files. +\item \<wpi-stdout.log>: TODO +\end{itemize} \subsectionAndLabel{Requirements for whole-program inference scripts}{wpi-shared-requirements} From 586559e007423380345040d16885582ebab30822 Mon Sep 17 00:00:00 2001 From: James Yoo <jyoo980@gmail.com> Date: Thu, 28 Sep 2023 18:32:30 -0700 Subject: [PATCH 2/4] Add line about typecheck.out --- docs/manual/inference.tex | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/manual/inference.tex b/docs/manual/inference.tex index d4291b64601..ad865a82582 100644 --- a/docs/manual/inference.tex +++ b/docs/manual/inference.tex @@ -243,7 +243,13 @@ project, including build time, the number of built \<.jar> files, the number of executable \<.jar> files, the number of \<javac> invocations, and the number of source files. -\item \<wpi-stdout.log>: TODO +\item \<typecheck.out>: The final results of type-checking obtained with the + latest iteration of WPI (i.e., the most precise, consistent set of + annotations). +\item \<wpi-stdout>: The results of type-checking with each candidate set of + annotations. + The final results (i.e., those obtained using the most precise, consistent + set of annotations) will appear at the end of this file. \end{itemize} \subsectionAndLabel{Requirements for whole-program inference scripts}{wpi-shared-requirements} From 5f4d797c778d9390a86764d4efba9a2ad90e3c9a Mon Sep 17 00:00:00 2001 From: James Yoo <jyoo980@gmail.com> Date: Thu, 28 Sep 2023 21:40:04 -0700 Subject: [PATCH 3/4] Add descriptions for more WPI-generated files --- docs/manual/inference.tex | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/docs/manual/inference.tex b/docs/manual/inference.tex index ad865a82582..0facd307267 100644 --- a/docs/manual/inference.tex +++ b/docs/manual/inference.tex @@ -139,10 +139,9 @@ \end{Verbatim} The result is a set of log files placed in the \<dljc-out/> folder of the -target project. The results of type-checking with each candidate set of -annotations will be concatenated into the file \<dljc-out/wpi-stdout.log>; the final -results (i.e., those obtained using the most precise, consistent set of annotations) -will appear at the end of this file. +target project. +See Section~\ref{wpi-results} for an explanation of the log files generated by +an invocation of \<wpi.sh>. The inferred annotations appear in \<.ajava> files in a temporary directory whose name appears in the \<dlcj-out/wpi-stdout.log> file; you can find their location by examining the \<-Aajava> argument @@ -238,7 +237,8 @@ \begin{itemize} \item \<build\_output.txt>: Logs collected from compiling the target project using the build file found at the top-level directory. -\item \<javac.json>: TODO +\item \<javac.json>: The list of all `.java` files for which inference was + attempted by \<wpi.sh>, and the options passed to \<javac>. \item \<stats.json>: Statistics from the invocation of \<wpi.sh> on the target project, including build time, the number of built \<.jar> files, the number of executable \<.jar> files, the number of \<javac> invocations, and the number of @@ -246,10 +246,12 @@ \item \<typecheck.out>: The final results of type-checking obtained with the latest iteration of WPI (i.e., the most precise, consistent set of annotations). -\item \<wpi-stdout>: The results of type-checking with each candidate set of +\item \<wpi-stdout.log>: The results of type-checking with each candidate set of annotations. The final results (i.e., those obtained using the most precise, consistent set of annotations) will appear at the end of this file. +\item \<toplevel.log>: The log of the command executed at the top-level of the + target directory to invoke whole-program inference. \end{itemize} \subsectionAndLabel{Requirements for whole-program inference scripts}{wpi-shared-requirements} From db000a3e5576ccd93d9f9121475c0e1abc9aea36 Mon Sep 17 00:00:00 2001 From: James Yoo <jyoo980@gmail.com> Date: Fri, 29 Sep 2023 09:45:45 -0700 Subject: [PATCH 4/4] Addressing Martin's PR comments --- docs/manual/inference.tex | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/docs/manual/inference.tex b/docs/manual/inference.tex index 0facd307267..2d55d90da57 100644 --- a/docs/manual/inference.tex +++ b/docs/manual/inference.tex @@ -235,23 +235,28 @@ The \<dljc-out/> folder contains: \begin{itemize} -\item \<build\_output.txt>: Logs collected from compiling the target project - using the build file found at the top-level directory. -\item \<javac.json>: The list of all `.java` files for which inference was - attempted by \<wpi.sh>, and the options passed to \<javac>. -\item \<stats.json>: Statistics from the invocation of \<wpi.sh> on the target - project, including build time, the number of built \<.jar> files, the number of - executable \<.jar> files, the number of \<javac> invocations, and the number of - source files. -\item \<typecheck.out>: The final results of type-checking obtained with the - latest iteration of WPI (i.e., the most precise, consistent set of +\item \<typecheck.out>: The final error messages produced by \<javac>, + comprising the results of type-checking obtained with the + latest iteration of WPI (i.e., using the most precise, consistent set of annotations). +\item \<build\_output.txt>: Logs collected from compiling the target project + without the Checker Framework, using the build file found at the + top-level directory. \item \<wpi-stdout.log>: The results of type-checking with each candidate set of - annotations. + annotations, concatenated together in the order in which the annotations + were inferred. The final results (i.e., those obtained using the most precise, consistent set of annotations) will appear at the end of this file. +\item \<wpi-stdout-*>: These files are separate from the logs in \<wpi-stdout.log>. + They may be useful in the case where \<dljc> is not working as expected. \item \<toplevel.log>: The log of the command executed at the top-level of the target directory to invoke whole-program inference. +\item \<javac.json>: The list of all \<.java> files for which inference was + attempted by \<wpi.sh>, and the options passed to \<javac>. +\item \<stats.json>: Statistics from the invocation of \<wpi.sh> on the target + project, including build time, the number of built \<.jar> files, the number of + executable \<.jar> files, the number of \<javac> invocations, and the number of + source files. \end{itemize} \subsectionAndLabel{Requirements for whole-program inference scripts}{wpi-shared-requirements}