You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A JSON data file is computed by ig-java or ig-interacto. Normally, this file permits to locate interaction, data binding, command, widget bindings, precisely.
Use such front-end data to instrument the code of the app: instrument means that this tool is going to add logging instructions temporarily to the application.
The test suite is then executed, so that the instrumented code logs information
The tool computes coverage based on such log information
The global idea:
This is a very hard task ;)
Steps:
Creates a Java agent. A Java agent is a kind of java app called before the launching of the real app to instrument the code of this app.
How to launch an agent: https://javahowto.blogspot.com/2006/07/javaagent-option.html
This agent instruments nothing. Just prints "YO" in the console.
Test it by adding the agent in the latexdraw's POM in the surefire (junit test execution) plugin (put in comment everything related to jacoco in this POM):
https://stackoverflow.com/questions/46302636/maven-test-and-javaagent-argument
Instrumentation for Interacto Instrument code for logging execution information #1:
This Spoon feature may help: https://github.com/INRIA/spoon/pull/2645/files
This instrumentation consists in adding the method call
.log(LogLevel.BINDING)before the.bind()of each widget binding. Test on latexdraw (information printed in console).Instrumentation for Interacto #2:
Provides to
WidgetBindingImplandInteractionImplspecific loggers that will write the information in a file.https://stackoverflow.com/questions/15758685/how-to-write-logs-in-text-file-when-using-java-util-logging-logger
Log format:
This file that contains the logged information must be in a format like this one:
The goal is to obtain for each test the triple: interaction, widget, command.