Go Back

Is There A Way To Produce A Single Large DBL File From a Solution?

Help Me Help Synergex Find Bugs (Yours Included)

tl;dr; I need the ability to dump out an entire SLN File as a single dbl file that I can pass to dblproto and dbl.

The Background
Too often we need to report a bug to Support regarding the Synergy Compiler that cannot quickly be paired down to a reasonable Toy Program. Any interesting program is going to be comprised of several hundred sub-modules. Even when we can pair it down to a toy program that is wasted developer effort and requires an understanding of the system.

There is a better way.

What if I told you that if you gave me a SINGLE file with over a million lines that exhibited a (reproducible) bug in DBLPROTO/DBL I could find the minimal set that could reproduce the bug? Magic? No! AUTOMATION!

Enter Delta Debugging

https://en.wikipedia.org/wiki/Delta_debugging
https://www.st.cs.uni-saarland.de/dd/

The long and short of this is if we have a single file that we can pass to an input program, and have an expected output, we can run this in a tight loop, programmatically removing parts of the file until we reach the minimal reproducing case.

Where Help Is Needed
The problem is we need a single input file to modify. Unfortunately most interesting programs are comprised of several hundred files (those pesky .INCLUDE's). This means that Delta Debugging is a non-starter right out of the gate.

Elements included from the repository are not necessary (at least in the first phase) we can assume that the repository will exist as it does and will not be modified.

If it would make it easier we also do not need to bother messing with INCLUDE files either (again at least in the first phase).

What Has Been Tried
I tried simply doing a
 

COPY /B *.dbl Combined.out

on a single project And then passing that to DBL with no avail, there is obviously something missing here.

1 Answer
0   | Posted by Ace Olszowka to Synergy DBL on 8/20/2018 11:49 PM
Kish Baley

COPY /B *.dbl should have worked, are you adding it to the pre-build event? Did you get a combined.out file containing all the .dbl contents? If not, then check to make sure you are in the right folder when the copy runs, it might be looking in a folder other than where the .dbl files reside. Also look into Windows FOR /F loop in a .bat as another option.

If your intent is to try to send that file to the DBL compiler, aren't you concerned you'll hit some limit that precludes compiling/prototyping something that big? Try manually combining several files into a single file that is larger than 64k in size, if there's a limit, this is one you're likely to hit first.

8/24/2018 1:16 AM   0  
Please log in to comment or answer this question.