Seminar on Program Analysis at TU Darmstadt (Winter Semester 2014)


Topics and Papers

Use Google Scholar to find these papers. Almost all papers are publicly available (if not, you have to be in the university domain to access them).

Anomaly detection 1

  • Tracking Down Software Bugs Using Automatic Anomaly Detection, Hangal and Lam, 2002
  • Bugs as Deviant Behavior: A General Approach to Inferring Errors in Systems Code, Engler et al., 2001
  • Finding What's Not There: A New Approach to Revealing Neglected Conditions in Software, Chang et al., 2007

Anomaly detection 2 (temporal properties)

  • Mining Temporal Specifications from Object Usage, Wasylkowski and Zeller, 2009
  • Online Inference and Enforcement of Temporal Properties, Gabel and Su, 2010
  • Graph-based Mining of Multiple Object-Usage Protocols, Nguyen et al., 2009

Concurrency bugs: Race detection

  • RacerX: Effective, Static Detection of Race Conditions and Deadlocks, Engler and Ashcraft, 2003
  • Hybrid Dynamic Data Race Detection, O'Callahan and Choi, 2003
  • Effective Race Detection for Event-Driven Programs, Raychev et al., 2013

Concurrency bugs: Influencing the schedule

  • Multithreaded Java program test generation, Edelstein et al., 2002
  • Finding and Reproducing Heisenbugs in Concurrent Programs, Musuvathi et al., 2008
  • Randomized Active Atomicity Violation Detection in Concurrent Programs, Park and Sen, 2008

Concurrency bugs: Atomicity violations

  • AVIO: Detecting Atomicity Violations via Access Interleaving Invariants, Lu et al., 2006
  • Velodrome: A Sound and Complete Dynamic Atomicity Checker for Multithreaded Programs, Flanagan et al., 2008
  • A Serializability Violation Detector for Shared-Memory Server Programs, Xu et al., 2005

Web and GUI applications

  • A Framework for Automated Testing of JavaScript Web Applications, Artzi et al., 2011
  • Search-based System Testing: High Coverage, No False Alarms, Gross et al., 2012
  • EventBreak: Analyzing the Responsiveness of User Interfaces through Performance-Guided Test Generation, Pradel et al., 2014

Type analysis for dynamic languages

  • Recency Types for Analyzing Scripting Languages, Heidegger and Thiemann, 2010
  • Type Analysis for JavaScript, Jensen et al., 2009
  • Dynamic Inference of Static Types for Ruby, An et al., 2011

Performance bugs 1

  • Go with the Flow: Profiling Copies to Find Runtime Bloat, Xu et al., 2009
  • Toddler: Detecting Performance Problems via Similar Memory-Access Patterns, Nistor et al., 2013
  • Catch Me If You Can: Performance Bug Detection in the Wild, Jovic et al., 2011

Performance bugs 2

  • Measuring Empirical Computational Complexity, Goldsmith et al., 2007
  • Algorithmic Profiling, Zaparanuks and Hauswirth, 2012
  • Wise: Automated Test Generation for Worst-Case Complexity, Burnim et al., 2009)

Concolic exection

  • DART: Directed Automated Random Testing, Godefroid et al., 2005
  • Automated Whitebox Fuzz Testing, Godefroid et al., 2008
  • KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex System Programs, Cadar et al., 2008

Random-based test generation

  • ARTOO: Adaptive Random Testing for Object-Oriented Software, Ciupa et al., 2008
  • Feedback-directed Random Test Generation, Pacheco et al., 2007
  • Fully Automatic and Precise Detection of Thread Safety Violations, Pradel and Gross, 2012

Security vulnerabilities

  • Automatic Creation of SQL Injection and Cross-Site Scripting Attacks, Kiezun et al., 2009
  • 25 Million Flows Later - Large-scale Detection of DOM-based XSS, Lekies et al., 2013
  • Chucky: Exposing Missing Checks in Source Code for Vulnerability Discovery, Yamaguchi et al., 2013

Differential testing

  • Automated Testing of Refactoring Engines, Daniel et al., 2007
  • Finding and Understanding Bugs in C Compilers, Yang et al., 2011
  • Compiler Validation via Equivalence Modulo Inputs, Le et al., 2014
A A A | Drucken Print | Impressum Impressum | Sitemap Sitemap | Suche Search | Kontakt Contact | Website Analysis: More Information
zum Seitenanfangzum Seitenanfang