Interesting....are 400 test scripts enough?
From the Vocabulary list there are atleast (30 symbols per
column)*(3columns)*(2 forms) = 180 symbols. Add to this the foreign symbols. I think the combinations that need to be tested are huge! Or is it that the 400 scripts test multiple combinations per script? How do you reduce from the huge number of combinations to some specific ones unless the tests are at some meta level that reduces the number to a manageable 400?
The reason I am interested is that in reasonably huge software, the number of combinations are the killers for test cycles. I was wondering how language's are validated since at the level of enterprise, the usage of the software tends to the complexity of a programming language. Of course, the level of formalism is different which could probably give programming languages testing some advantage. My question is more to do with how can one reduce the test combinations for programing languages that ensures unlimited expression in the language. Maybe I am asking a question that is already answered in any compiler book. Still some insights here would be interesting to listen. ~Yuva On 9/25/06, Roger Hui <[EMAIL PROTECTED]> wrote:
There is a set of about 400 test scripts. Two interpreters that can run these test scripts can not deviate significantly from each other or from the language specified by the J dicitionary. Parts of the interpreter obviously do symbolic computation. e.g. *: b. _1 %: +: b. _1 -: +:@*: b. _1 %:@-: ^ t. i.10x 1 1 1r2 1r6 1r24 1r120 1r720 1r5040 1r40320 1r362880 [EMAIL PROTECTED]: t. i.10x 1 2 2 4r3 2r3 4r15 4r45 8r315 2r315 4r2835 +:@^ t. i.10x 2 2 1 1r3 1r12 1r60 1r360 1r2520 1r20160 1r181440 (%-.-*:) t. i.13x 0 1 1 2 3 5 8 13 21 34 55 89 144 The "special code" described in Appendix B of the dictionary http://www.jsoftware.com/help/dictionary/special.htm implement certain recognized patterns using more efficient code. The recognition is symbolic because the function definitions are being analyzed and/or manipulated. e.g. x=: 1e6 [EMAIL PROTECTED] 1e5 y=: 1e6 [EMAIL PROTECTED] 1e5 ts=: 6!:2 , 7!:[EMAIL PROTECTED] x (> i. 1:) y NB. index of first place where x>y 0 ts 'x (> i. 1:) y' 5.5873e_6 1152 The fork > i. 1: is recognized and implemented efficiently. ----- Original Message ----- From: Yuvaraj Athur Raghuvir <[EMAIL PROTECTED]> Date: Sunday, September 24, 2006 6:20 pm Subject: [Jgeneral] Intrigued by the Interpreter.... > Hello, > > As I am starting on J, I would like to know: > > 1) How is the J interpreter tested to verify & validate the > properties of > the various symbols of the language? > I am particularly interested in knowing about how the rank > semantics is > validated. > > 2) Is it possible to introduce symbolic computation in functional > languages,particularly J? ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
