cs-au-dk / Artemis

automated testing for JavaScript
http://www.brics.dk/artemis/
GNU General Public License v3.0
36 stars 10 forks source link

Concolic mode no longer running on airtran.com #94

Closed BenSpencer closed 10 years ago

BenSpencer commented 11 years ago

Running artemis --major-mode concolic --concolic-tree-output all -v all http://www.airtran.com I just get a single iteration and a small graph with no symbolic information. I seem to remember I got this when we first added support for listing href attributes as possible events, but I updated the entry-point finder to still fire the correct event. Trying an alernate entry-point in mockentrypoints.cpp did not make a difference.

BenSpencer commented 10 years ago

I get exactly the same result using --concolic-button with the manual EP.

BenSpencer commented 10 years ago

This issue seems to be introduced between 59376e4e (the end of feature-path-exploration; good) and e3b7cfd0 (just after it was merged with master; bad).

BenSpencer commented 10 years ago

Introduced in the merge between 080d8108 (good) and a372cbca (bad). As the master branch we are merging with has a lot of changes and little concolic support it is difficult to track any further back.

BenSpencer commented 10 years ago

The behaviour in manual mode is actually different from what we observe in "real" browsers, and matches what we see in concolic mode. When clicking the submit button I don't see an error but get redirected straight to Search.aspx instead (as shown on the concolic mode graph).

In the coverage report dump from manual mode, the function ATAvailabilitySearchInputSearchView_Validate is not covered when clicking the button (although lots of other validation-looking stuff is and I can't find its entry-point).

sema commented 10 years ago

The issue is caused by us overwriting the onclick event handler with the contents of the href. We do this such that Artemis sees the link as a target (#62).

In this edge case both a onclick and a href="javascript:" is used at the same time.

A change has been made such that the onclick is not overwritten with the href value if it already exists (683ce64badbe46621d17bfdf748a992bb542f39c).