Progress Report - in progress
This commit is contained in:
2
app.js
2
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
|
||||
|
||||
10
progress_report/lit_review.fdb_latexmk
Normal file
10
progress_report/lit_review.fdb_latexmk
Normal file
@@ -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"
|
||||
6
progress_report/lit_review.fls
Normal file
6
progress_report/lit_review.fls
Normal file
@@ -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
|
||||
@@ -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.
|
||||
been much more code to work through.
|
||||
|
||||
BIN
progress_report/new-gantt.png
Normal file
BIN
progress_report/new-gantt.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 100 KiB |
BIN
progress_report/old-gantt.jpg
Normal file
BIN
progress_report/old-gantt.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 24 KiB |
10
progress_report/overview.fdb_latexmk
Normal file
10
progress_report/overview.fdb_latexmk
Normal file
@@ -0,0 +1,10 @@
|
||||
# Fdb version 3
|
||||
["latex"] 1429036987 "overview.tex" "overview.dvi" "overview" 1429036988
|
||||
"/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 ""
|
||||
"overview.aux" 1429036987 8 a94a2480d3289e625eea47cd1b285758 ""
|
||||
"overview.tex" 1429036311 1357 cfaf2a8de5eaf66d6fce726acdb307d4 ""
|
||||
(generated)
|
||||
"overview.log"
|
||||
"overview.dvi"
|
||||
6
progress_report/overview.fls
Normal file
6
progress_report/overview.fls
Normal file
@@ -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 overview.tex
|
||||
OUTPUT overview.log
|
||||
22
progress_report/overview.tex
Normal file
22
progress_report/overview.tex
Normal file
@@ -0,0 +1,22 @@
|
||||
\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.
|
||||
BIN
progress_report/progress_report.dvi
Normal file
BIN
progress_report/progress_report.dvi
Normal file
Binary file not shown.
68
progress_report/progress_report.fdb_latexmk
Normal file
68
progress_report/progress_report.fdb_latexmk
Normal file
@@ -0,0 +1,68 @@
|
||||
# Fdb version 3
|
||||
["latex"] 1429044499 "progress_report.tex" "progress_report.dvi" "progress_report" 1429044577
|
||||
"/usr/local/texlive/2014/texmf-dist/fonts/map/fontname/texfonts.map" 1272929888 3287 e6b82fe08f5336d4d5ebc73fb1152e87 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/fonts/tfm/public/cm/cmr10.tfm" 1136768653 1296 45809c5a464d5f32c8f98ba97c1bb47f ""
|
||||
"/usr/local/texlive/2014/texmf-dist/fonts/tfm/public/txfonts/txb.tfm" 1136768653 2452 76194099b4f1c022cb59f4564251c4fe ""
|
||||
"/usr/local/texlive/2014/texmf-dist/fonts/tfm/public/txfonts/txr.tfm" 1136768653 2408 aec793a3c45e495f7ad15b227c91f508 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/fonts/tfm/public/txfonts/txsy.tfm" 1136768653 1268 1d124f224979493f8fd017a7597ea1cd ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/generic/ifxetex/ifxetex.sty" 1284331290 1458 43ab4710dc82f3edeabecd0d099626b2 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/atbegshi.sty" 1335995445 24460 92f559a71aac869021852c227c704b38 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/gettitlestring.sty" 1303254447 8237 52810bdb4db2270e717422560a104aea ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty" 1338332114 189108 8b3553a56c83ff61acecb36b75d817e2 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty" 1338332114 70752 45fa392800e07da61fa13446ad46b34d ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/ifpdf.sty" 1303254447 7140 ece2cc23d9f20e1f53975ac167f42d3e ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/ifvtex.sty" 1335995445 6797 68c89f65e01894df882dd523d3fc0a8f ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/infwarerr.sty" 1335995445 8253 3bdedc8409aa5d290a2339be6f09af03 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/ltxcmds.sty" 1335995445 18425 775b341047ce304520cc7c11ca41392e ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/base/article.cls" 1399675188 20496 66dd832c447553f6776fbeac03bb0580 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/base/ifthen.sty" 1399675188 4947 22c4b902063e8ce2efcc2a8495ecb800 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/base/size11.clo" 1399675188 8983 e08a9a7009d9a8f8c6507333f96e336e ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/eso-pic/eso-pic.sty" 1381444076 11590 2a66b78f3da61ad137452c2777f21b6b ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/geometry/geometry.sty" 1284422013 40502 e003406220954b0716679d7928aedd8a ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/graphics/dvips.def" 1399675188 5104 e68b64366d1946a5893a7f717264ec59 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/graphics/graphics.sty" 1254151804 14183 42a8fc761b806986eef292369afc2988 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/graphics/graphicx.sty" 1399675188 7911 bf0a64f89bfb668c239ddf6324bf4afb ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/graphics/keyval.sty" 1399675188 2317 0ace13e225e9d95dd9defe947adc9fbb ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/graphics/trig.sty" 1156702488 3153 c50e6bd54d2dd3933fc52bcf369bec4a ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/hyperref/hdvips.def" 1352416072 3471 43fa5241d35e8bdbf02746c6d8e25fc2 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/hyperref/hyperref.sty" 1352416072 231792 5fc9dc7dd667e773a766ecc63bba7f4b ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/hyperref/nameref.sty" 1351899753 12847 25b617d63258c4f72870c883493a3cf8 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/hyperref/pd1enc.def" 1352416072 14005 155ac8fad2e5dd7c2cdd130fabd96633 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/hyperref/pdfmark.def" 1352416072 49315 059e7f302e066f22f383833cd87167cb ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/latexconfig/color.cfg" 1254097189 802 7b8c8d72c24d795ed7720e4dfd29bff3 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/latexconfig/graphics.cfg" 1278958963 3563 d35e897cae3b8c6848f6677b73370b54 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/latexconfig/hyperref.cfg" 1254097189 235 6031e5765137be07eed51a510b2b8fb7 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/oberdiek/auxhook.sty" 1303254447 3834 707ef09f31d7d2ea47ba89974755dfe0 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/oberdiek/kvoptions.sty" 1335995445 22417 c74ff4af6a1aa2b65d1924020edbbe11 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty" 1303254447 9581 1158efc648bc09d5064db5703c882159 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/pdfpages/pdfpages.sty" 1377467854 51227 e7dc1f34ba805af6251ecb7986bb034f ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/pdfpages/ppnull.def" 1377467854 2528 737efa41d2b4535305b16bdebc3d7d8e ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/pdfpages/pppdftex.def" 1377467854 5975 e550dcf6f005a7223bb41a05edf0e99d ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/setspace/setspace.sty" 1324344192 22913 a27d7908fc6f0385466454a966a316eb ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/tocloft/tocloft.sty" 1367531278 34706 345df874e59e023274392bd0cf090d66 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/tools/array.sty" 1399675188 13073 a6e28ede26c83d406e124b12f368174f ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/tools/calc.sty" 1399675188 10002 f32f4490d0c87a7854adf544bd459155 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/tools/tabularx.sty" 1400196978 6922 d73f54a1f22489be96930629013f1304 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/txfonts/omltxmi.fd" 1137111002 492 e7f8afe4428797548d4301de03a1b15f ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/txfonts/omstxr.fd" 1137111002 857 81ff640acbcd7da3dc30601847d7e35a ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/txfonts/omstxsy.fd" 1137111002 329 6ac7e19535b9f1d64e4d8e3f77dc30a3 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/txfonts/omxtxex.fd" 1137111002 312 11fe1916b0a13a81a05234a6fc7f8738 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/txfonts/ot1txr.fd" 1137111002 1271 4e3afbd8e832f2f9c7f064894e6e68e4 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/txfonts/txfonts.sty" 1206746551 50381 d367461010070c7a491b1f6979ab2062 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/txfonts/utxexa.fd" 1137111002 310 1b00b0b05685b816e4c6caccce437e0d ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/url/url.sty" 1388531844 12796 8edb7d69a20b857904dd0ea757c14ec9 ""
|
||||
"/usr/local/texlive/2014/texmf-dist/tex/latex/xcolor/xcolor.sty" 1169481954 55224 a43bab84e0ac5e6efcaf9a98bde73a94 ""
|
||||
"/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 ""
|
||||
"old-gantt.jpg" 1429044440 24493 24188bdf4f5434787c664b216e3898f2 ""
|
||||
"progress_report.aux" 1429044500 1054 1fb7c5c88c3fe5c21808963cf33f2978 ""
|
||||
"progress_report.out" 1429044500 236 3411de8a1192db7b41eeb11bf4c93fef ""
|
||||
"progress_report.tex" 1429044508 7262 ec5dd8aff911c63e55f0b215ebc5fca1 ""
|
||||
"progress_report.toc" 1429044500 0 d41d8cd98f00b204e9800998ecf8427e ""
|
||||
(generated)
|
||||
"progress_report.dvi"
|
||||
"progress_report.out"
|
||||
"progress_report.toc"
|
||||
"progress_report.aux"
|
||||
"progress_report.log"
|
||||
128
progress_report/progress_report.fls
Normal file
128
progress_report/progress_report.fls
Normal file
@@ -0,0 +1,128 @@
|
||||
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 progress_report.tex
|
||||
OUTPUT progress_report.log
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/base/article.cls
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/base/article.cls
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/base/size11.clo
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/base/size11.clo
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/fonts/map/fontname/texfonts.map
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/fonts/map/fontname/texfonts.map
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/fonts/tfm/public/cm/cmr10.tfm
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/setspace/setspace.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/setspace/setspace.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/geometry/geometry.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/geometry/geometry.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/graphics/keyval.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/graphics/keyval.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/ifpdf.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/ifpdf.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/ifvtex.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/ifvtex.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/generic/ifxetex/ifxetex.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/generic/ifxetex/ifxetex.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/tools/tabularx.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/tools/tabularx.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/tools/array.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/tools/array.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/tocloft/tocloft.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/tocloft/tocloft.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/graphics/graphicx.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/graphics/graphicx.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/graphics/graphics.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/graphics/graphics.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/graphics/trig.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/graphics/trig.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/latexconfig/graphics.cfg
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/latexconfig/graphics.cfg
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/graphics/dvips.def
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/graphics/dvips.def
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/pdfpages/pdfpages.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/pdfpages/pdfpages.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/base/ifthen.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/base/ifthen.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/tools/calc.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/tools/calc.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/eso-pic/eso-pic.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/eso-pic/eso-pic.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/atbegshi.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/atbegshi.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/infwarerr.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/infwarerr.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/xcolor/xcolor.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/xcolor/xcolor.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/xcolor/xcolor.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/latexconfig/color.cfg
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/latexconfig/color.cfg
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/pdfpages/pppdftex.def
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/pdfpages/pppdftex.def
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/pdfpages/ppnull.def
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/pdfpages/ppnull.def
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/hyperref/hyperref.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/hyperref/hyperref.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/oberdiek/auxhook.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/oberdiek/auxhook.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/oberdiek/kvoptions.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/oberdiek/kvoptions.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/hyperref/pd1enc.def
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/hyperref/pd1enc.def
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/latexconfig/hyperref.cfg
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/latexconfig/hyperref.cfg
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/url/url.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/url/url.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/hyperref/hdvips.def
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/hyperref/hdvips.def
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/hyperref/pdfmark.def
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/hyperref/pdfmark.def
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/txfonts/txfonts.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/txfonts/txfonts.sty
|
||||
INPUT progress_report.aux
|
||||
INPUT progress_report.aux
|
||||
OUTPUT progress_report.aux
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/txfonts/omltxmi.fd
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/txfonts/omltxmi.fd
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/txfonts/omstxsy.fd
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/txfonts/omstxsy.fd
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/txfonts/omxtxex.fd
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/txfonts/omxtxex.fd
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/txfonts/utxexa.fd
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/txfonts/utxexa.fd
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/txfonts/ot1txr.fd
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/txfonts/ot1txr.fd
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/fonts/tfm/public/txfonts/txr.tfm
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/hyperref/nameref.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/hyperref/nameref.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/gettitlestring.sty
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/generic/oberdiek/gettitlestring.sty
|
||||
INPUT progress_report.out
|
||||
INPUT progress_report.out
|
||||
INPUT progress_report.out
|
||||
INPUT progress_report.out
|
||||
INPUT ./progress_report.out
|
||||
INPUT ./progress_report.out
|
||||
OUTPUT progress_report.out
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/fonts/tfm/public/txfonts/txb.tfm
|
||||
OUTPUT progress_report.dvi
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/fonts/tfm/public/txfonts/txr.tfm
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/fonts/tfm/public/txfonts/txb.tfm
|
||||
INPUT progress_report.toc
|
||||
INPUT progress_report.toc
|
||||
OUTPUT progress_report.toc
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/fonts/tfm/public/txfonts/txr.tfm
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/fonts/tfm/public/txfonts/txb.tfm
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/txfonts/omstxr.fd
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/tex/latex/txfonts/omstxr.fd
|
||||
INPUT /usr/local/texlive/2014/texmf-dist/fonts/tfm/public/txfonts/txsy.tfm
|
||||
INPUT old-gantt.jpg
|
||||
INPUT old-gantt.jpg
|
||||
4
progress_report/progress_report.out
Normal file
4
progress_report/progress_report.out
Normal file
@@ -0,0 +1,4 @@
|
||||
\BOOKMARK [1][-]{section.1}{Overview}{}% 1
|
||||
\BOOKMARK [2][-]{subsection.1.1}{Purpose of the Report}{section.1}% 2
|
||||
\BOOKMARK [2][-]{subsection.1.2}{Purpose of the Project}{section.1}% 3
|
||||
\BOOKMARK [1][-]{section.2}{Literature Review}{}% 4
|
||||
BIN
progress_report/progress_report.pdf
Normal file
BIN
progress_report/progress_report.pdf
Normal file
Binary file not shown.
177
progress_report/progress_report.tex
Normal file
177
progress_report/progress_report.tex
Normal file
@@ -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}
|
||||
26
progress_report/progress_report.tex.project.vim
Normal file
26
progress_report/progress_report.tex.project.vim
Normal file
@@ -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 = []
|
||||
24
progress_report/progress_report_aux
Normal file
24
progress_report/progress_report_aux
Normal file
@@ -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<</S/D>>}
|
||||
\HyPL@Entry{1<</S/r>>}
|
||||
\HyPL@Entry{2<</S/D>>}
|
||||
\@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}}
|
||||
26
proposal/proposal.tex.project.vim
Normal file
26
proposal/proposal.tex.project.vim
Normal file
@@ -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 = []
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user