From d18ccb49da58fdf2016c6b9cf8e2044bafb0cd18 Mon Sep 17 00:00:00 2001 From: Shyam Raghavan Date: Tue, 14 Apr 2015 16:51:47 -0400 Subject: [PATCH] Progress Report - in progress --- app.js | 2 +- progress_report/lit_review.fdb_latexmk | 10 + progress_report/lit_review.fls | 6 + progress_report/lit_review.tex | 8 +- progress_report/new-gantt.png | Bin 0 -> 102485 bytes progress_report/old-gantt.jpg | Bin 0 -> 24493 bytes progress_report/overview.fdb_latexmk | 10 + progress_report/overview.fls | 6 + progress_report/overview.tex | 22 +++ progress_report/progress_report.dvi | Bin 0 -> 9036 bytes progress_report/progress_report.fdb_latexmk | 68 +++++++ progress_report/progress_report.fls | 128 +++++++++++++ progress_report/progress_report.out | 4 + progress_report/progress_report.pdf | Bin 0 -> 39050 bytes progress_report/progress_report.tex | 177 ++++++++++++++++++ .../progress_report.tex.project.vim | 26 +++ progress_report/progress_report_aux | 24 +++ proposal/proposal.tex.project.vim | 26 +++ public/vm/c0vm.js | 17 +- 19 files changed, 520 insertions(+), 14 deletions(-) create mode 100644 progress_report/lit_review.fdb_latexmk create mode 100644 progress_report/lit_review.fls create mode 100644 progress_report/new-gantt.png create mode 100644 progress_report/old-gantt.jpg create mode 100644 progress_report/overview.fdb_latexmk create mode 100644 progress_report/overview.fls create mode 100644 progress_report/overview.tex create mode 100644 progress_report/progress_report.dvi create mode 100644 progress_report/progress_report.fdb_latexmk create mode 100644 progress_report/progress_report.fls create mode 100644 progress_report/progress_report.out create mode 100644 progress_report/progress_report.pdf create mode 100644 progress_report/progress_report.tex create mode 100644 progress_report/progress_report.tex.project.vim create mode 100644 progress_report/progress_report_aux create mode 100644 proposal/proposal.tex.project.vim diff --git a/app.js b/app.js index 15e2251..8393d68 100644 --- a/app.js +++ b/app.js @@ -11,7 +11,7 @@ app.configure(function() { app.set('view engine', 'jade'); app.use(express.logger('dev')); app.use(express.json()); - + app.use(express.static(path.join(__dirname, 'public'))); //debug error handler diff --git a/progress_report/lit_review.fdb_latexmk b/progress_report/lit_review.fdb_latexmk new file mode 100644 index 0000000..bbd7436 --- /dev/null +++ b/progress_report/lit_review.fdb_latexmk @@ -0,0 +1,10 @@ +# Fdb version 3 +["latex"] 1429036983 "lit_review.tex" "lit_review.dvi" "lit_review" 1429036987 + "/usr/local/texlive/2014/texmf-dist/web2c/texmf.cnf" 1398200874 31722 4f52421e59a4b9e910cf18e64c1f2b4a "" + "/usr/local/texlive/2014/texmf-var/web2c/pdftex/latex.fmt" 1401025988 3831950 412798929e0196806f9f91e131a01806 "" + "/usr/local/texlive/2014/texmf.cnf" 1401025936 577 a59edbde8d3a8c549d0eeaab1739e2ff "" + "lit_review.aux" 1429036983 8 a94a2480d3289e625eea47cd1b285758 "" + "lit_review.tex" 1429035932 1602 8c64955909e149f1edf1ceb643d93c17 "" + (generated) + "lit_review.dvi" + "lit_review.log" diff --git a/progress_report/lit_review.fls b/progress_report/lit_review.fls new file mode 100644 index 0000000..4d6c145 --- /dev/null +++ b/progress_report/lit_review.fls @@ -0,0 +1,6 @@ +PWD /Users/shyam/Dropbox/cdb/progress_report +INPUT /usr/local/texlive/2014/texmf.cnf +INPUT /usr/local/texlive/2014/texmf-dist/web2c/texmf.cnf +INPUT /usr/local/texlive/2014/texmf-var/web2c/pdftex/latex.fmt +INPUT lit_review.tex +OUTPUT lit_review.log diff --git a/progress_report/lit_review.tex b/progress_report/lit_review.tex index 7f5ed3a..f391162 100755 --- a/progress_report/lit_review.tex +++ b/progress_report/lit_review.tex @@ -1,5 +1,5 @@ \section{Literature Review} -Since the start of our project, we have found multiple new information sources; +Since the start of our project, we have found multiple new information sources; the following are the most important ones. \begin{itemize} \item Nodeunit documentation \\ @@ -7,7 +7,7 @@ https://github.com/caolan/nodeunit \\ % It might be better to put the URLs in the "References" section and add a [\ref{}] here We are using nodeunit to test our virtual machine. Since the c0 bytecode has many different opcodes that it uses, it is very easy -for mistakes in the virtual machine to go unnoticed. +for mistakes in the virtual machine to go unnoticed. To prevent this, we are using the nodeunit library to write unit tests for our code. This has already helped us to find and solve multiple bugs in the VM, and having @@ -21,8 +21,8 @@ It has been an important reference while developing a JavaScript version of the c0 virtual machine. \end{itemize} So far, the most important thing we have learned is that good unit tests are -vital for developing this sort of project. Without unit tests that verify +vital for developing this sort of project. Without unit tests that verify each opcode used by the virtual machine, many bugs would have gone unnoticed, causing problems later down the line. If we only found these bugs by using the frontend, they would have been much harder to debug, as there would have -been much more code to work through. \ No newline at end of file +been much more code to work through. diff --git a/progress_report/new-gantt.png b/progress_report/new-gantt.png new file mode 100644 index 0000000000000000000000000000000000000000..735dbfc61ca114490ca9a5b945e520f162f0197b GIT binary patch literal 102485 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

-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 literal 0 HcmV?d00001 diff --git a/progress_report/old-gantt.jpg b/progress_report/old-gantt.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e68ac3dc41595500368b76ae63170ecd0858e517 GIT binary patch literal 24493 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

v&aaE>B7VB!#YA=H=9T~O2| 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 literal 0 HcmV?d00001 diff --git a/progress_report/progress_report.tex b/progress_report/progress_report.tex new file mode 100644 index 0000000..0256ccb --- /dev/null +++ b/progress_report/progress_report.tex @@ -0,0 +1,177 @@ +\documentclass[11pt]{article} + +\usepackage{setspace} +\usepackage[margin=1in]{geometry} + +% Make table of contents look better +\usepackage{tabularx} +\usepackage{tocloft} +\renewcommand{\cftsecleader}{\cftdotfill{\cftdotsep}} + +\usepackage{graphicx} +\usepackage{pdfpages} +\usepackage{hyperref} + +% \usepackage[ngerman]{babel} +% \usepackage[T1]{fontenc} +% \usepackage[ansinew]{inputenc} +% \usepackage{lmodern} + +% Times New Roman font +\usepackage{txfonts} + +\begin{document} + +\setlength{\parindent}{2em} + +\begin{titlepage} +\clearpage +\thispagestyle{empty} + +\begin{center} +{\bf Technical Communication for Computer Scientists: 15-221}\\ +{\bf Spring 2015}\\ + +\vspace{25 mm} + +{\bf Progress Report:}\\ +{\bf C0 Debugger}\\ +\vspace{25 mm} + +Aaron Gutierrez\\ +Mitchell Plamann\\ +Shyam Raghavan\\ +Suhaas Reddy\\ + +\vspace{25 mm} + +{\bf Submitted to}\\ +Thomas M. Keating\\ +Assistant Teaching Professor\\ +Computer Science Department\\ +School of Computer Science\\ + +\vspace{25 mm} + +{\bf Prepared and Submitted by}\\ +Shyam Raghavan - April 14, 2015 +\end{center} +\end{titlepage} + +\pagenumbering{roman} +\tableofcontents +\newpage + +\pagenumbering{arabic} + +\section{Overview} +\subsection{Purpose of the Report} +This report serves as an update to the reader on the progress the c0db team has +made on the C0 Debugger during the first month of work. The report will detail +what has been accomplished so far, what is in progress, what is planned for the +future, and any changes that will be made to the original plan of action. In +addition, the report will detail new literature that has been gathered and +used. +\subsection{Purpose of the Project} +The purpose of this project is to build a web application that can debug C0 +code and can aid in a student's understanding of fundamental computational +models. This project will benefit students in 15-122 Principals of Imperative +Computation at Carnegie Mellon University by helping them create correct +programs. The C0 Debugger will enable students to understand how their programs +execute and find where problems originate more easily than with existing tools. +In addition to debugging, students will have better knowledge for how the +underlying computation model works when evaluating their code. +\par +The C0 Debugger will also enable students to test simple programs with little +setup, using only a web browser. They will no longer have to set up and become +familiar with a Unix environment before they can program, making C0 accessible +to more people, more quickly. +\section{Literature Review} +Since the start of our project, we have found multiple new information sources; +the following are the most important ones. +\begin{itemize} +\item Nodeunit documentation \\ + https://github.com/caolan/nodeunit + \par + We are using nodeunit to test our virtual machine. + Since the c0 bytecode has many different opcodes that it uses, it is very + easy for mistakes in the virtual machine to go unnoticed. + To prevent this, we are using the nodeunit library to write unit tests for + our code. + This has already helped us to find and solve multiple bugs in the VM, and + having these unit tests will make sure that we can solve any bugs that + occur as the result of future changes in the code. +\item c0vm Assignment Handout \\ + https://www.cs.cmu.edu/~rjsimmon/15122-f14/prog/c0vm-writeup.pdf + \par + This document details how each opcode in the c0 bytecode language works, + as well as other important implementation details for the c0 virtual + machine. It has been an important reference while developing a JavaScript + version of the c0 virtual machine. +\item Common Gateway Interface Support Documentation \\ + https://docs.python.org/2/library/cgi.html + \par + This document explains the support module defined by Python 2.7.10 for + common gateway interfaces. A common gateway interface script is usually + invoked by a server to process user input submitted through an HTML + element. This piece of documentation is an important reference for + developing the flow of information from c0 code to c0 bytecode to a + working virtual machine. +\end{itemize} +So far, the most important thing we have learned is that good unit tests are +vital for developing this sort of project. Without unit tests that verify +each opcode used by the virtual machine, many bugs would have gone unnoticed, +causing problems later down the line. If we only found these bugs by using +the frontend, they would have been much harder to debug, as there would have +been much more code to work through. +\section{Progress} +\section{Recommendations} +\begin{figure}[h] + \centering + \includegraphics[width=\linewidth]{old-gantt.jpg} + \caption{Old Project Gantt Chart} + \label{fig:old-gantt} +\end{figure} +\begin{figure}[h] + \centering + \includegraphics[width=\linewidth]{new-gantt.jpg} + \caption{New Project Gantt Chart} + \label{fig:new-gantt} +\end{figure} +There are three major changes to the project plan: the frontend and backend +deadlines have moved back several days, the user testing and revisions period +have shifted back accordingly and have shortened, the frontend goal categories +have been redefined. These changes can be identified in the above Gantt charts +by in shifts in the bars of the Gantt chart. The development bars have +increased in relative size while the testing and revising bars have shrunk. +\par +The frontend and backend periods needed to shift backwards simply due to the +group’s initial underestimation of the amount of time required to create a +reasonable product. The team believes additional development time on the +backend and frontend until the 20th of April will enable the creation of a high +quality product with a robust user interface and powerful c0 virtual machine. +Without this pushback the team currently has a working prototype with a basic +user interface and native function calls implemented, but the project has yet +to include several important features considered necessary for useful +application by students. +\par +The user testing and adjustments periods have shrunk due to the increased +development time. The team decided to avoid user testing and adjustments during +the main development phase, but due to the time pressure this caused the +testing and adjustment phases to shrink by several days each and overlap +significantly. The team hopes to consistently implement changes as students +provide feedback so that the overlap still provides time to implement +suggestions. +\par +The redefined goals within the frontend category reflect altered priorities of +the project as a whole. Rather than having the project work to explain topics +to the user, the project will be designed to simply run user code and step +through user code with the assumption that the user already understands how to +use the program. The instructors of 15-122 have already been informed of c0db, +so hopefully the TAs of the course could provide their students with brief +tutorials for c0db and its uses. This shift away from explanation allows the +team to focus more on providing user interface features which will more +directly aid in student code development. These features include code stepping +and highlighting as well as annotated bytecode as listed in the Gantt chart +above. +\end{document} diff --git a/progress_report/progress_report.tex.project.vim b/progress_report/progress_report.tex.project.vim new file mode 100644 index 0000000..2b950e2 --- /dev/null +++ b/progress_report/progress_report.tex.project.vim @@ -0,0 +1,26 @@ +" ATP project vim script: Tue Apr 14, 2015 at 02:37 PM -0400. + +let b:atp_MainFile = 'progress_report.tex' +let g:atp_mapNn = 0 +let b:atp_autex = 1 +let b:atp_TexCompiler = 'pdftex' +let b:atp_TexOptions = '-synctex=1' +let b:atp_TexFlavor = 'plaintex' +let b:atp_auruns = '1' +let b:atp_ReloadOnError = '1' +let b:atp_OutDir = '/Users/shyam/Dropbox/cdb/progress_report' +let b:atp_OpenViewer = '1' +let b:atp_XpdfServer = 'progress_report' +let b:atp_Viewer = 'okular' +let b:TreeOfFiles = {} +let b:ListOfFiles = [] +let b:TypeDict = {} +let b:LevelDict = {} +let b:atp_BibCompiler = 'bibtex' +let b:atp_StarEnvDefault = '' +let b:atp_StarMathEnvDefault = '' +let b:atp_updatetime_insert = 4000 +let b:atp_updatetime_normal = 2000 +let b:atp_LocalCommands = [] +let b:atp_LocalEnvironments = [] +let b:atp_LocalColors = [] diff --git a/progress_report/progress_report_aux b/progress_report/progress_report_aux new file mode 100644 index 0000000..c12a4bd --- /dev/null +++ b/progress_report/progress_report_aux @@ -0,0 +1,24 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} +\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined +\global\let\oldcontentsline\contentsline +\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} +\global\let\oldnewlabel\newlabel +\gdef\newlabel#1#2{\newlabelxx{#1}#2} +\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} +\AtEndDocument{\ifx\hyper@anchor\@undefined +\let\contentsline\oldcontentsline +\let\newlabel\oldnewlabel +\fi} +\fi} +\global\let\hyper@last\relax +\gdef\HyperFirstAtBeginDocument#1{#1} +\providecommand*\HyPL@Entry[1]{} +\HyPL@Entry{0<>} +\HyPL@Entry{1<>} +\HyPL@Entry{2<>} +\@writefile{toc}{\contentsline {section}{\numberline {1}Overview}{1}{section.1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Purpose of the Report}{1}{subsection.1.1}} +\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Purpose of the Project}{1}{subsection.1.2}} +\@writefile{toc}{\contentsline {section}{\numberline {2}Literature Review}{1}{section.2}} diff --git a/proposal/proposal.tex.project.vim b/proposal/proposal.tex.project.vim new file mode 100644 index 0000000..1d422b8 --- /dev/null +++ b/proposal/proposal.tex.project.vim @@ -0,0 +1,26 @@ +" ATP project vim script: Tue Apr 14, 2015 at 02:43 PM -0400. + +let b:atp_MainFile = 'proposal.tex' +let g:atp_mapNn = 0 +let b:atp_autex = 1 +let b:atp_TexCompiler = 'pdflatex' +let b:atp_TexOptions = '-synctex=1' +let b:atp_TexFlavor = 'tex' +let b:atp_auruns = '1' +let b:atp_ReloadOnError = '1' +let b:atp_OutDir = '/Users/shyam/Dropbox/cdb/proposal' +let b:atp_OpenViewer = '1' +let b:atp_XpdfServer = 'proposal' +let b:atp_Viewer = 'okular' +let b:TreeOfFiles = {} +let b:ListOfFiles = [] +let b:TypeDict = {} +let b:LevelDict = {} +let b:atp_BibCompiler = 'bibtex' +let b:atp_StarEnvDefault = '' +let b:atp_StarMathEnvDefault = '' +let b:atp_updatetime_insert = 4000 +let b:atp_updatetime_normal = 2000 +let b:atp_LocalCommands = [] +let b:atp_LocalEnvironments = [] +let b:atp_LocalColors = [] diff --git a/public/vm/c0vm.js b/public/vm/c0vm.js index 32ae799..827f7de 100755 --- a/public/vm/c0vm.js +++ b/public/vm/c0vm.js @@ -28,7 +28,6 @@ function i32_to_array(i32) { ((i32 >> 8) & 0xFF), ((i32 >> 16) & 0xFF), ((i32 >> 24) & 0xFF)]; - } function array_to_i32(array) { @@ -63,13 +62,13 @@ var ProgramState = function(parsed_file, callback_dict) { try { this.natives[i] = callback_dict[i]; } catch (key_not_found) { - this.natives[i] = function (arg) { + this.natives[i] = function (arg) { console.log("Native function " + name + " called, ran method stub."); return 0; }; } } - + // Memory is just a big array of bytes, right? // "Allocation" is appending onto this array // A pointer to memory is an index into this array. @@ -138,7 +137,7 @@ ProgramState.prototype.step = function() { case op.BIPUSH: this.frame.pc += 2; var val = this.frame.program[this.frame.pc-1]; - + // Do sign extension if necessary if ((val & 0x80) != 0) val = -0x80 + (val & 0x7F); @@ -340,7 +339,7 @@ ProgramState.prototype.step = function() { }; console.log("Unknown native function index " + f.function_table_index); } - log("Calling native function with index " + index + " with arguments " + + log("Calling native function with index " + index + " with arguments " + arg_array); this.push(native_function(arg_array)); break; @@ -352,7 +351,7 @@ ProgramState.prototype.step = function() { var address = this.heap.length; for (var i = 0; i < size; i++) this.heap.push(0); - + this.push(address); this.frame.pc += 2; break; @@ -365,7 +364,7 @@ ProgramState.prototype.step = function() { this.heap.push(num_elements); this.heap.push(size); - + for (var i = 0; i < num_elements; i++) { for (var j = 0; j < size; j++) this.heap.push(0); @@ -481,7 +480,7 @@ function execute(file, callbacks, v) { if (verbose) log(file); log("Beginning execution"); - + while (true) { var val = state.step(); if (val !== undefined) return val; @@ -500,7 +499,7 @@ function execute(file, callbacks, v) { // save state (maybe in a global in this file?) // return; // } - } + } } exports.execute = execute;