20

What you are asking for is the Elsivier grand challenge of the "Executable Paper". While many approaches have been tried, none are as compelling as the authors might suggest. Here are a few examples of techniques used. Madagascar Project takes your approach, inside the make script have the simulations run that produce the figures and paper simultaneously. ...


14

As some comments have suggested, this approach has long been developed in the R community by building on Sweave and more recently, knitr. Obviously this approach has the disadvantage of being language-specific at the moment, but the advantage that its regularly used in academic papers. Use of Sweave in real publications The Journal of Biostatistics ...


13

I have not had a lot of success in using other people's solutions to this problem. I usually just want something simple that works for me and gets the job done. To this end, I generally try to write one python script which is in charge of running all the results, parsing the output, as well as building the figures/tables. I write my codes to generate ...


12

I prefer using doxygen that supports C++ and LaTeX comments, both inline and as separate equations. This way, you will keep your comments, including, say, the rigorous mathematical formulation of the algorithm, very close to the source code. The generation of the documentation can be included in the overall workflow (say, a Makefile or CMake target, ...


7

Even more important, in my opinion, is making sure that you can figure out how to re-generate all your results from scratch in a month or a year (for instance, when referees ask you to add or modify something). For that purpose, what I do is include a text file with very detailed directions on how to reproduce all results. It's best if you test these out ...


6

Total running time (wall clock) is the only metric that matters in industry or real life applications: this figure should never be omitted, even if embarrassing. Of course this metric is very dependent on the test environment, so this should be described in detail. All other metrics can (or should be) reported if they provide insight into the problem, or ...


6

Emacs's orgmode in combination with Babel achieves that. Babel can execute code snippets from various programming and scripting languages, e.g., it could open the file containing the simulation data and put it into a table in orgmode, which can be exported to LaTeX (and many other formats). It takes quite a while getting used to all the key combos in orgmode,...


5

Running the command edit interp2 allows you to see the source code of this particular function and then you can read the piece of code that deals with bicubic interpolation. In MATLAB R2011, there is even a paper being cited: "Cubic Convolution Interpolation for Digital Image Processing", Robert G. Keys, IEEE Trans. on Acoustics, Speech, and Signal ...


4

If you're using LaTeX, a relatively low-tech solution is to have your code spit out a file (or else use a script to filter from your code's output) containing a whole bunch of lines like this: \newcommand{\myresults1}{<value>} Then you can use the \input command to add that file into your document, and use the defined commands to place the values.


4

Normally the author of a work can license it under more than one of the open source licenses you mention (so called dual licensing). However there seems to be an issue with doing so under the referenced ACM editorial policy, which states that you would be obliged to transfer copyright ownership on published "algorithms": Authors of copyrightable ...


4

It is often the case that one can only report the tip of the iceberg of all the work and compromises that went into a piece of software. Reporting performance is nice but the real deal is when the code is made freely accesible on internet, this way, anyone interested can evaluate and reproduce the results. Ideally, if you release the software, you can also ...


4

If running all your code is cheap then you could do something low-tech like the following: You could template your documents with formatted strings so that they look like this "we observed a %(fractional_improvement)s increase in ..." Have python scripts that look like this results = {"alpha" : run_alpha_computation(...), "...


3

In Stodden, V. 2009. “The Legal Framework for Reproducible Scientific Research.” CiSE. Victoria Stodden recommends publishing the full "research compendium", and lists the following components on p. 38: The research paper The data - including documentation and code for processing the data The experiment — all source code; documentation, parameters, ...


2

Currently there is a GMSH API in the works: https://gitlab.onelab.info/gmsh/gmsh/tree/master/api Also, there are rumors that there will be a fully documented API by version 4.0. In short, there is no documentation on the functions for GMSH (except for what is in the source all ready). But, they are planning on creating a documented version by GMSH 4.0. ...


2

The Scalapack UG link brings up a misleading web page. It looks as if there isn't any Fortran documentation, when I suppose the page is instead intended to be a title page. Clicking on the "Next" button in the upper left-hand corner brings you to the first page of Fortran interface documentation for P_GEMR2D.


2

I work for Elsevier. My company has started using the Collage framework (developed in response to the Executable Paper Grand Challenge) in journal issues to enable authors to publish chunks of executable code with their article. This feature makes it easier for readers to reproduce results reported in the article and to reuse published material for their own ...


2

I work for Elsevier. My company has started using the Collage framework (developed in response to the Executable Paper Grand Challenge) in journal issues to enable authors to include all of the data and code needed to reproduce the results and figures in their papers. This feature makes it easier for readers to reproduce results reported in the article and ...


1

I work for Elsevier. My company has started using the Collage framework (developed in response to the Executable Paper Grand Challenge) in journal issues to enable authors to publish chunks of executable code with their article. This feature makes it easier for readers to reproduce results reported in the article and to reuse published material for their own ...


1

Documentation that is automatically derived from your source code is an essential component in having up-to-date i.e. correct documentation. I can't count how many times I've seen documentation that is years behind the source code because of developer apathy towards documentation. The easy solution is to make it easy for programmers to write documentation ...


Only top voted, non community-wiki answers of a minimum length are eligible