secartifacts / secartifacts.github.io

Website for Research Artifacts from the Security Community
18 stars 17 forks source link

Update USENIX Sec 2020 results #54

Closed principis closed 10 months ago

principis commented 11 months ago

I couldn't find an artifact for the Towards HTTPS Everywhere on Android paper.

vahldiek commented 11 months ago

@principis how did you find this data? I believe the initial data we put on the website was based on an excel sheet from Thorsten Holz. I'd like to make sure that we update to the correct data before making such changes.

principis commented 11 months ago

@vahldiek The list of papers that is currently on secartifacts seems to be generated from the spring/summer/fall quarter accepted papers sites. But I noticed that not all papers on the technical sessions page or in the proceedings are on those sites. Since I needed the data anyway for my thesis, I scraped the technical sessions page, followed the links to the presentation page and checked if there is an "Artifact Evaluated" image.

Here is my (very basic) script:

<?php

$url = 'https://www.usenix.org/conference/usenixsecurity20/technical-sessions';

$xml = new DOMDocument();
libxml_use_internal_errors(true);

if (!$xml->loadHTMLFile($url)) {
    die("Failed to parse html from source={$url}");
}

$finder = new DomXPath($xml);
$classname = 'node-paper';
$nodes = $finder->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' $classname ')]");
foreach($nodes as $node) {
    $title = trim($node->firstElementChild->nodeValue);
    $paperUrl = 'https://www.usenix.org'.$node->firstElementChild->firstElementChild->getAttribute('href');

    $content = file_get_contents($paperUrl);
    if (strstr($content, 'https://www.usenix.org/sites/default/files/usenix_artifact_evaluation_passed_125.png')) {
        echo "{$title} : {$paperUrl}".PHP_EOL;
    }
}
vahldiek commented 10 months ago

lgtm!