====== CISC 879 Software Testing and Maintenance WIKI fall 2009 ====== This wiki primarily keeps the papers to be read and discussed in this course or used as a basis for starting a literature survey in a particular subarea of software testing and maintenance. ==== Sign Up for Proposal Reviewing for Mock Panel ==== The review form can be found on the calendar on the main web page at the bottom. Please edit and add your name by three proposals that you will review, first-come-first-serve. We need at least 3 reviews per proposal. 1. {{:courses:cisc879testing:prop1.pdf|Platform Independent Testing Tool for Automated Testing of Web Applications}} - Karan Madhu Koundinya Rag Nisha Sola\\ 2. {{:courses:cisc879testing:Automating tasks in GUI Test Case Generation.pdf|Automating tasks in GUI Test Case Generation}}-**Please see the updated paper** -> Karan Suparna Koundinya Praneeth Sola\\ 3. {{:courses:cisc879testing:prop3.pdf|Data Flow Testing of Service Oriented Work Flow Applications}}- Madhu Praneeth Rag Nisha\\ 4. {{:courses:cisc879testing:prop4.pdf|Automatically Generating Test Cases Using UML Structure Diagrams}} - Madhu Suparna Koundinya Praneeth Nisha\\ 5. {{:courses:cisc879testing:prop5b.pdf|Automatic Evaluation of Search Engines with Social Relevancy Rank Factoring}} - Karan Suparna Rag Sola\\ ==== Other Information ==== [[http://www.cis.udel.edu/~pollock/879.testing/f09|Back to Main 879 Software Testing and Maintenance Course Page]] {{courses:research-proposal-example-giri.pdf|Example of a Full Research Proposal from a previous 879 course}} {{courses:879-paper-3.pdf|Another example: Compiler Optimization Verification and Maintenance}} {{courses:879-paper-2.pdf|Another example: Regression Test Case Prioritization – A Contribution-Based Approach}} ===== Small Assignments ===== [[findtheworld|Find The World - Bib Searching - Due Tuesday, Sept 8]] \\ ===== Handouts and Slides ===== {{:courses:cisc879testing:gdemo.pdf|Demo Guidelines}} Location of Example latex and bibtex files on stimpy: /usa/pollock/public/latex.templates {{{{:courses:cisc879testing:background-test-maint.ppt|Background on Software Testing}} {{{{:courses:cisc879testing:background-quiz-activity.doc|In-class game on Software Testing}} {{{{:courses:cisc879testing:a_metric_for_software_readability.pdf|A metric for Software Readability}} [[courses:Soa|State of the Art Diagrams (examples)]] \\ == Slides from Class Time == == Grading Criteria == Research Bib list Deliverable 1: Total Points: / 15 \\ 1. Set of papers selected: /9 \\ a. relevance to topic \\ b. inclusive of current work \\ 2. Search method used: /1\\ 3. Format: created by using bibtex and latex, printed as nice readable format: /1\\ 4. Paragraph that explains: \\ a. how you performed your search: /2\\ b. one sentence describing the overall topic you are investigating: /2\\ ===== List of Papers to Select From ===== **General Improvements to Software Testing** \\ Clause, J. and Orso, A. 2009. Penumbra: automatically identifying failure-relevant inputs using dynamic tainting. In Proceedings of the Eighteenth international Symposium on Software Testing and Analysis (Chicago, IL, USA, July 19 - 23, 2009). ISSTA '09. (ACM DL) \\ Zhang, L., Hou, S., Guo, C., Xie, T., and Mei, H. 2009. Time-aware test-case prioritization using integer linear programming. In Proceedings of the Eighteenth international Symposium on Software Testing and Analysis (Chicago, IL, USA, July 19 - 23, 2009). ISSTA '09. (ACM DL) \\ Yoo, S., Harman, M., Tonella, P., and Susi, A. 2009. Clustering test cases to achieve effective and scalable prioritisation incorporating expert knowledge. In Proceedings of the Eighteenth international Symposium on Software Testing and Analysis (Chicago, IL, USA, July 19 - 23, 2009). ISSTA '09. (ACM DL) \\ Murphy, C., Shen, K., and Kaiser, G. 2009. Automatic system testing of programs without test oracles. In Proceedings of the Eighteenth international Symposium on Software Testing and Analysis (Chicago, IL, USA, July 19 - 23, 2009). ISSTA '09. (ACM DL) \\ Namin, A. S. and Andrews, J. H. 2009. The influence of size and coverage on test suite effectiveness. In Proceedings of the Eighteenth international Symposium on Software Testing and Analysis (Chicago, IL, USA, July 19 - 23, 2009). (ACM DL) \\ Wloka, J., Ryder, B. G., and Tip, F. 2009. JUnitMX - A change-aware unit testing tool. In Proceedings of the 2009 IEEE 31st international Conference on Software Engineering (May 16 - 24, 2009). (ACM DL) \\ anesh, V., Leek, T., and Rinard, M. 2009. Taint-based directed whitebox fuzzing. In Proceedings of the 2009 IEEE 31st international Conference on Software Engineering (May 16 - 24, 2009). (ACM DL) \\ Hsu, H. and Orso, A. 2009. MINTS: A general framework and tool for supporting test-suite minimization. In Proceedings of the 2009 IEEE 31st international Conference on Software Engineering (May 16 - 24, 2009). (ACM DL) \\ **Testing in Different Domains**\\ Martignoni, L., Paleari, R., Roglia, G. F., and Bruschi, D. 2009. Testing CPU emulators. In Proceedings of the Eighteenth international Symposium on Software Testing and Analysis (Chicago, IL, USA, July 19 - 23, 2009). ISSTA '09. (ACM DL) \\ Halfond, W. G., Anand, S., and Orso, A. 2009. Precise interface identification to improve testing and analysis of web applications. In Proceedings of the Eighteenth international Symposium on Software Testing and Analysis (Chicago, IL, USA, July 19 - 23, 2009). ISSTA '09. (ACM DL) \\ Grechanik, M., Xie, Q., and Fu, C. 2009. Maintaining and evolving GUI-directed test scripts. In Proceedings of the 2009 IEEE 31st international Conference on Software Engineering (May 16 - 24, 2009). (ACM DL) \\ Mesbah, A. and van Deursen, A. 2009. Invariant-based automatic testing of AJAX user interfaces. In Proceedings of the 2009 IEEE 31st international Conference on Software Engineering (May 16 - 24, 2009). (ACM DL) \\ Kieyzun, A., Guo, P. J., Jayaraman, K., and Ernst, M. D. 2009. Automatic creation of SQL Injection and cross-site scripting attacks. In Proceedings of the 2009 IEEE 31st international Conference on Software Engineering (May 16 - 24, 2009). (ACM DL) \\ {{courses:icse08-maule-impactanalysis.pdf|Impact Analysis of Database Schema Changes, ICSE 08}} \\ {{courses:tosem07-wassermann-checksql.pdf|Static Checking of Dynamically Generated Queries in Database Applications, TOSEM 07}} \\ {{courses:icse08-mei-testsoa.pdf|Data Flow Testing of Service-Oriented Workflow Applications, ICSE 08}} \\ {{courses:icst08-testgrid.pdf|Testing Grid Application Workflows Using TTCN-3, ICST 08}} \\ {{courses:icst08-testweb-harman.pdf|Automated Session Data Repair for Web Application Regression Testing, ICST 08}} \\ {{courses:issta08-wassermann-testgenweb.pdf|Dynamic Test Input Generation for Web Applications, ISSTA 08}}\\ {{courses:issta08-artzi-testweb.pdf|Finding Bugs in Dynamic Web Applications, ISSTA 08}} \\ {{courses:icse08-lu-testpervasive.pdf|Testing Pervasive Software in the Presence of Context Inconsistency Resolution Services, ICSE 08}} \\ {{courses:icst08-randomtesting.pdf|On the Predictability of Random Tests for Object-Oriented Software, ICST 08}} \\ **Fault Localization/Defect Prediction/Debugging** \\ Sinha, S., Shah, H., Görg, C., Jiang, S., Kim, M., and Harrold, M. 2009. Fault localization and repair for Java runtime exceptions. In Proceedings of the Eighteenth international Symposium on Software Testing and Analysis (Chicago, IL, USA, July 19 - 23, 2009). (ACM DL) \\ Cheng, H., Lo, D., Zhou, Y., Wang, X., and Yan, X. 2009. Identifying bug signatures using discriminative graph mining. In Proceedings of the Eighteenth international Symposium on Software Testing and Analysis (Chicago, IL, USA, July 19 - 23, 2009). (ACM DL) \\ Hao, D., Zhang, L., Zhang, L., Sun, J., and Mei, H. 2009. VIDA: Visual interactive debugging. In Proceedings of the 2009 IEEE 31st international Conference on Software Engineering (May 16 - 24, 2009). (ACM DL) \\ Mariani, L., Pastore, F., and Pezze, M. 2009. A toolset for automated failure analysis. In Proceedings of the 2009 IEEE 31st international Conference on Software Engineering (May 16 - 24, 2009). (ACM DL) \\ Weimer, W., Nguyen, T., Le Goues, C., and Forrest, S. 2009. Automatically finding patches using genetic programming. In Proceedings of the 2009 IEEE 31st international Conference on Software Engineering (May 16 - 24, 2009). (ACM DL) \\ Aranda, J. and Venolia, G. 2009. The secret life of bugs: Going past the errors and omissions in software repositories. In Proceedings of the 2009 IEEE 31st international Conference on Software Engineering (May 16 - 24, 2009). (ACM DL) \\ Hassan, A. E. 2009. Predicting faults using the complexity of code changes. In Proceedings of the 2009 IEEE 31st international Conference on Software Engineering (May 16 - 24, 2009). (ACM DL) \\ Santelices, R., Jones, J. A., Yanbing Yu, and Harrold, M. J. 2009. Lightweight fault-localization using multiple coverage types. In Proceedings of the 2009 IEEE 31st international Conference on Software Engineering (May 16 - 24, 2009). (ACM DL)\\ Wolf, T., Schroter, A., Damian, D., and Nguyen, T. 2009. Predicting build failures using social network analysis on developer communication. In Proceedings of the 2009 IEEE 31st international Conference on Software Engineering (May 16 - 24, 2009). (ACM DL) \\ Chilimbi, T. M., Liblit, B., Mehra, K., Nori, A. V., and Vaswani, K. 2009. HOLMES: Effective statistical debugging via efficient path profiling. In Proceedings of the 2009 IEEE 31st international Conference on Software Engineering (May 16 - 24, 2009). (ACM DL)\\ {{courses:icse08-chen-concurrencyerrorsjava.pdf|jPredictor: A Predictive Runtime Analysis Tool for Java, ICSE 08}} \\ {{courses:icse08-ruthruff-empstudy-warnings.pdf|Predicting Accurate and Actionable Static Analysis Warnings: An Experimental Approach, ICSE 08}} \\ {{courses:icse08-yilmaz-faultloc.pdf|Time Will Tell: Fault Localization Using Time Spectra, ICSE 08}} \\ {{courses:issta08-baah-faultloc.pdf|The Probabilistic Program Dependence Graph and Its Application to Fault Diagnosis, ISSTA 08}} \\ {{courses:tse08-classifyingdefpred.pdf|Benchmarking Classification Models for Software Defect Prediction: A Proposed Framework and Novel Findings, TSE 08}} \\ **Change Analysis** \\ Wloka, J., Ryder, B., Tip, F., and Ren, X. 2009. Safe-commit analysis to facilitate team software development. In Proceedings of the 2009 IEEE 31st international Conference on Software Engineering (May 16 - 24, 2009). (ACM DL) \\ Kim, M. and Notkin, D. 2009. Discovering and representing systematic code changes. In Proceedings of the 2009 IEEE 31st international Conference on Software Engineering (May 16 - 24, 2009). (ACM DL) \\ {{courses:icse08-schafer-frameworkchangesmining.pdf|Mining Framework Usage Changes from Instantiation Code, ICSE 08}} \\ {{courses:issta08-dor-changeimpact.pdf|Customization Change Impact Analysis for ERP Professionals via Program Slicing, ISSTA 08}} \\ **Queries and Concern Location** \\ Reiss, S. P. 2009. Semantics-based code search. In Proceedings of the 2009 IEEE 31st international Conference on Software Engineering (May 16 - 24, 2009). (ACM CL) \\ **Readibility, Quality, Clone Detection, Refactoring** \\ Dagenais, B. and Robillard, M. P. 2009. SemDiff: Analysis and recommendation support for API evolution. In Proceedings of the 2009 IEEE 31st international Conference on Software Engineering (May 16 - 24, 2009). (ACM DL) \\ Bird, C., Nagappan, N., Devanbu, P., Gall, H., and Murphy, B. 2009. Does distributed development affect software quality? An empirical case study of Windows Vista. In Proceedings of the 2009 IEEE 31st international Conference on Software Engineering (May 16 - 24, 2009). (ACM DL) \\ Juergens, E., Deissenboeck, F., Hummel, B., and Wagner, S. 2009. Do code clones matter?. In Proceedings of the 2009 IEEE 31st international Conference on Software Engineering (May 16 - 24, 2009). (ACM DL) \\ Murphy-Hill, E., Parnin, C., and Black, A. P. 2009. How we refactor, and how we know it. In Proceedings of the 2009 IEEE 31st international Conference on Software Engineering (May 16 - 24, 2009). (ACM DL) \\ {{courses:issta08-buse-readabilitymetric.pdf|A Metric for Software Readability, ISSTA 08}} \\ {{courses:tosem07-binkley-slicesize.pdf|An Empirical Study of Static Program Slice Size, TOSEM 07}} \\ **Other "Older, but Very Wise" Papers ** \\ {{courses:other-bug-isolation-liblit.pdf|Scalable Statistical Bug Isolation}} \\ {{courses:other-dart-godefroid.pdf|DART: Directed Automated Random Testing }} \\ {{courses:other-delta-zellertse.pdf|Simplifying and Isolating Failure-Inducing Input}} \\ {{courses:other-ernstdaikon.pdf|Dynamically Discovering Likely Program Invariants to Support Program Evolution }} \\ {{courses:other-memleak-jump.pdf|Cork:Dynamic Memory Leak Detection for Garbage-Collected Languages }} \\ {{courses:other-regression-p184-graves.pdf|An Empirical Study of Regression Test Selection Techniques}} \\ {{courses:other-symb-exe-clarke76.pdf|A System to Generate Test Data and Symbolically Execute Programs}} \\ {{courses:other-traceability-antonioltse.pdf|Recovering Traceability Links between Code and Documentation}} \\ **Some Local UD Contributions ** \\ Hill, E., Pollock, L., and Vijay-Shanker, K. 2009. Automatically capturing source code context of NL-queries for software maintenance and reuse. In Proceedings of the 2009 IEEE 31st international Conference on Software Engineering (May 16 - 24, 2009). (ACM DL) \\ {{courses:ud-fp253-hill.pdf|Exploring the Neighborhood with Dora to Expedite Software Maintenance}} \\ {{courses:ud-shepherd.aosd2007.pdf|Using Natural Language Program Analysis to Locate and Understand Action-Oriented Concerns }} \\ {{courses:ud-impact-analysis-breechea-csmr05.pdf|A Comparison of Online and Dynamic Impact Analysis Algorithms}} \\ {{courses:ud-reduction-sprenkle-reduction.pdf|An Empirical Comparison of Test Suite Reduction Techniques for User-session-based Testing of Web Applications}} \\ {{courses:ud-sampath.tse07.pdf|Applying Concept Analysis to User-Session-Based Testing of Web Applications}} \\