add goal path at external ports

Erwan Jahier Erwan.Jahier at
Sun Jan 24 03:50:02 AEDT 1999

Hello there.

I have a question. Currently the following goal: 
p:- ((a,b);c) -> d ; e.
generates this kind of trace :

call p 
disj p   "?:d1"
  call a
  fail a
dicj p   "?;d2"
  call c
  exit c
then p    "e"
  call d
  exit d
exit p

I think it would be helpfull to have a little bit of context information here. 
For example, we could have the goalpath from which the call is made. Something 
like :

call p 
disj p   "?:d1"
  call a "?:d1"
  fail a "?:d1"
dicj p   "?;d2"
  call c "?;d2"
  exit c "?;d2"
then p   "e"
  call d "e"
  exit d "e"
exit p

How hard do you think it is to add this information to the current trace ?
Is this information still available when generating external events ? 

Maybe once we've got that, we don't need internal ports anymore... (?)

ps :
The reason I am asking that is that I try to work out some kind of path
coverage rate of a test suite. Most of the time, this is done by source code
instrumentation. But here, I think we can take advantage of the information
contained in the trace and particulary the goalpath attribute. 

The current goal paths information is not sufficient : if you consider my
exemple, all the possible goalpaths that can be generated are
{"?;d1","?;d2","e","t"}. Now suppose you have other input values to p such that
c fails. Then in that case the else branch is entered, and all the possible
goal paths have generated. Nervertheless, the goal b has never been entered ! I
think what I really need is the information about the context I was just
requesting about (I could elaborate on that but I think it is enough for this

Thanks Fergus for your attention ;)

More information about the developers mailing list