Tao Xie's Software Engineering Research Links
[Feedback]

  Reengineering & Evolution
  Software Visualization & Information Exploration
  Static Program Analysis
  Dynamic Program Analysis
  Architectural Evolution & Architecture
  Model Checking & Formal Methods
  Economics-Driven Software Engineering
  Aspect-Oriented & Separation of Concerns
  (Strategic) Software Quality Assurance
  Software Process & Workflow & Business Process Reengineering
  Software Product Line
  Software Reuse & Component-Based Software Development
  Design Pattern & Framework
  Requirement & Specification
  Real-Time/Embedded Systems & Software
  Software Engineering Over the Internet
  Knowledge-Based Software Engineering / Software Engineering Data Mining
  Empirical Software Engineering & Others
  Software Engineering in General
  Java Resource Links
  Software Engineering in China

  Future of Software Engineering (ICSE 2000)
  Tao Xie's Software Engineering Reading List
  Software Engineering Awards
  Software Engineering Academia Genealogy (North America)
  Academia Related to China and Software Research Around the World
  Software Engineering Conferences 
  Software Testing Researchers
  Tao Xie's advice collection

 Research Labs in Software Engineering Industry


  Reengineering & Evolution

Reengineering Home Page        GIT Reengineering Bibliography        Reengineering Reference Documents
Reengineering Forum                Resource for Soft Reengi, Soft Maint and Soft Evolution     
Resource for Software Reengineering Community                               Reverse Engineering  
Reverse Engineering and System Renovation - Bibliography               Reengineering Resource Repository
Identifying and Analyzing Reusable Components in Maryland            Program Understanding Tools Directory
Reengineering Home Page            Reverse Engineering                      RenaissanceWeb
Wikiki Beach Club list (discussions geared towards a common reverse engineering software interchange format)
Knowledge Based Reverse Engineering
Knowledge-Based Software Process (Re)Engineering in USC
Component-Based Software Re-engineering
ReNews - An electronic software reuse and Reengineering newsletter
Technical Council on Software Engineering - Committee on Reverse Engineering and Reengineering
SEI -ReEngineering
Reengineering Patterns page 
Reengineering Resources

Program-transformation.org

Reverse Engineering Tool list    Refactoring Resources    scgwiki 


Software Evolution Related Research Groups:

U of Washington David Notkin's Research Page
UCSD Bill Griswold's Software Evolution Lab Homepage   Software Evolution Tools
Virginia Kevin Sullivian's Software Evolution Research Page
UBC Gail Murphy's Software Evolution Research Page UBC Software Engineering Group  UBC Software Practices Lab
MIT Michael Ernst's Program Invariant Detection Page
Imperial College's M. M. Lehman   FEAST Project- Feedback, Evolution And Software Technology
SCG P.U.R.E. - Program Understanding & ReEngineering @ U Berne   Software Composition Group
Famoos - Framework-based Approach for Mastering Object-Oriented Software Evolution @ U Berne
  Software Composition Group
CMU SEI -ReEengineering
MIT Daniel Jackson's Software Design Research Page

Reverse Engineering and Program Understanding at Georgia Tech by Spencer Rugaber  Evolution & Interleaving Project GIT SE Aristotle Program Analysis Based Software Engineering  By Mary Jean Harrold
Maryland's Adam Porter 
Wisconsin Program Slicing Project By  Susan Horwitz   &  Thomas Reps
Richard C. Holt U. Toronto  
UCI Evolutionary Design of Complex Software (EDCS)  by IRUS: Irvine Research Unit in Software
Brown's Evolutionary Design of Complex Systems & DESSERT  Software Visualization By Steve Reiss
CMU Bill Scherlis's Research page             CMU's SEI Reengineering
CMU's A
CT: Structural reengineering of software    CMU's hopShop: Reverse engineering tool for C.
MSU's oftware Engineering and Network Systems Laboratory
Oregon's Michael Young 's Perpetual Testing for complex, evolving systems
Austin's Perry, Dewayne's   Evolution Research
ASU's Gerald Gannod 's SERG
Paolo Tonella Concept Analysis- Design Pattern Inference  
FAMOOS   SCG / FAMOOS / Reengineering Patterns  
fujaba - Round Trip Engineering with UML, SDM, Java and Design Patterns 

Reverse Engineering Tool list    Refactoring Resources    scgwiki

Project Bauhaus-Software Architecture, Software Reengineering, and Program Understanding
Bunch - a software clustering/modularization tool
CIAO - a graphical navigator for software and document repositories

Distributed Systems Group Architecture Recovery
Design Pattern Detection

Software Evolution at Wayne Univ.: Feature Location, Change Analysis
   C++ Refectoring tool


Rutgers' Naftaly Minsky
U Pitt Chris Kemerer
U Victoria Hausi Muller
  Jens H. Jahnke   SHriMP  Margaret-Anne Storey 
UCR Scott Tilley

U Alberta Kenny Wong
The Fujaba Environment - Round Trip Engineering with UML, SDM, Java and Desgin Patterns
Semantics-based Program Analysis and Manipulation Projects Worldwide, from CMU
Programming Languages Research Worldwide, from CMU
NORA/RECS- Reengineering of Configuration Structures
Refactoring Home Page
Refactoring by means of Ghost Variable  By Robert Lechner U Mass Lowell
Holt Group at the University of Toronto
Software Evolution in Waterloo
Audris Mockus Bell-lab Software Production Research Department 
Semantic Designs, Inc. (SD) Reengineering Toolkit
The Fujaba Environment -Round Trip Engineering with UML, Java and Design Patterns.(Available)
Software Engineering Lab (SEL)  CASE Tools

Design patterns and maintenance links   Design pattern discovery

Refactoring seminar


Research Institute for Software Evolution (RISE), University of Durham, England
Software Evolution & Reuse Project
Software evolution and Decay in Bell Lab   

(``Free'') Tools for software reengineering

UW/Microsoft Summer Research Institutes (focus on software development and tools in recent two years)
        Software Engineering Tools Research on Only $10 a Day  lecture slide by Bill Griswold (UCSD)'s 
        A series of lectures in improving software development
Talk: The Gap Between Software Research and Practice by Jim Larus

U Michigan Course

U Michigan Software Evolution Planning

UCI Institute for Software Research Events  

Software Evolution Workshop & Conference

The First International Workshop on REFactoring: Achievements, Challenges, Effects (REFACE) 2003

Workshop on OO Software Evolution and Reengineering at ECOOP 97
ESEC-FSE'97 Workshop on Object-Oriented Reengineering (WOOR'97)
ESEC-FSE'99 Workshop on Object-Oriented Reengineering (WOOR'99)  Position papers
International Special Session on Formal Foundations of Software Evolution
International Symposium on Principle of Software Evolution 2000
International Workshop on the Principles of Software Evolution 1999
Workshop on Engineering Complex Object-Oriented Systems for Evolution 2001
International Workshop on Feedback and Evolution in Software and Business Processes 2000
International Conference on Software Maintenance (ICSM'2001)
8th Working Conference on Reverse Engineering (WCRE'2001)
Workshop on Analysis, Slicing, and Transformation (AST'2001)
IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'2001)   

Second International Workshop on Unanticipated Software Evolution (USE 2003)  
First International Workshop on Unanticipated Software Evolution (USE 2002) 
Workshop on Engineering Context-Aware Object-Oriented Systems and Environments (ECOOSE 2002) 
Workshop on Engineering Complex Object-Oriented Systems for Evolution (ECOOSE 2001) 
2002 Workshop on Self-Healing Systems (WOSS02)

U Calgary Software Evolution course

ACM SIGSOFT Events
IEEE TCSE Events

Software Visualization & Information Exploration

Software Visualisation Links
Jinsight- IBM
    Wim De Pauw    Gary Sevitsky    Program Visualization @ IBM  
GRASP (Graphical Representations for Algorithms, Structures, and Processes) @Auburn U.  
Bloof is a tool for visualizing the evolution of source code - bloof.sourceforge.net
Software Visualization at tuwien  
Stephan Diehl  The GANIMAL Project   Soft Vis course
Hot Agent - visual component development environment to construct agents for electronic commerce
Sable in Mcgill
EVolve- an extensible software visualization framework
AVID-Component-based Visualization of the Execution of a Java System @ UBC
  Gail Murphy
Jitan- Parallel object-oriented programming and visualization
 
Stéphane Ducasse  Oscar Nierstrasz Software Composition Group Michele Lanza - Class Prints   CodeCrawler 
Tamar Richner-Hanna - Recovering Behavioral Design Views: a Query-based Approach

Tarja Systa - Static and Dynamic analysis of Java program
   SCED
Visualization of Error Situations in Concurrent Java Programs 
VisiVue Java Software Visualization Tool
Juliet- Java program comprehension
Java Dynamic Tool - Caffeine    Papers
David Lorenz papers
Drexel U SE Group
David A. Carr Sweden
Poet (Partial-Order Event Tracer) - The Shoshin Debugger (U Waterloo)
Guard: Relative Debugger 
GIT's John Stasko
  Software Visualization ProjectInformation Interfaces Research Group David Zook
Graphics, Visualization, and Usability Center (GVU)
Software Visualization: PBS, the Portable BookshelfCPPX: Open Source C++ Fact Extractor  Richard C. Holt
Tarantula - Fault Localization via Visualization
Brown's Evolutionary Design of Complex Systems & Manos Renieris DESSERT  Software Visulization By Steve Reiss
Amnon H. Eden Concordia U. Visualizing Architecture  
UIUC's Virtue Project: Direct Software Manipulation
Eileen Kraemer  Exploratory Visualization  Mihail Eduard Tudoreanu
Program Visualization @ Michigan State U
SoftArch: Static and Dynamic Architecture Modelling, Visualiation and Analysis
CIAO and CIA A graphical navigator for software and web repositories
Sarita Bassil
Jean Marie Favre
Software DevelopMent Laboratory @ University of Memphis  Jonathan I. Maletic 
NASA AIMS- Automated Instrumentation and Monitoring System  Parallel Tools Team
CHISEL (Computer-Human Interaction and Software Engineering Lab) @ U. Victoria  Derek Rayside 
Shrimpviews    SHriMP  Margaret-Anne Storey 
Visualization of Error Situations in Concurrent Java Programs K. Mehner   
XML Database Support for Program Trace Visualisation   references
Christopher David Hundhausen
Adaptive Computation Laboratory  Karel Driesen
Zeus- Algorithm Animation (DEC SRC)
ZADA-Zeus-based animations of distributed algorithms and communication protocols (U Dortmund) 
Class Buleprint  CodeCrawler  Michele Lanza
UCI ProDAG- Program Dependence Analysis Graph System
CWI Information Visualization    Graph Visualisation and Navigation in Information Visualization Survey
Information Visualization (Vis Research Group, U Durham)  
RPI's Interactive Graph Drawing
Diane T. Rover  PGRT Project: Instrumentation and Visualization for Design and Testing of Real-Time Systems
Exploring Large Graphs in 3D Hyperbolic Space
The Knowledge Discovery System - subdue @ UT Arlington 
Sieve -A Collaborative Interactive Modular Visualization Environment

Tools for graph visualization - summary  
Propositional Temporal Transition Formulas (PTTF) Model Graph Generator (MGG) 
graph-tools

Polaris - Stanford
Graph Drawing Tool
s List
Visualization of Compiler Graphs
  Graph Drawing Tools and Related Work    Call Graph Drawing Interface- A gprof VCG
Absint.com-aisee
AT&T's open source graph drawing software-graphviz
   wingraphviz
AT&T's Java Grappa
AT&T's Montage
AT&T's CIAO A Graphical Navigator for Software and Document Repositories
AT&T Visualization Group

DiaGen- The Diagram Editor Generator
OpenJGraph   
(``Free'') Tools for software reengineering

Software for Visualization
Information Visualization Links  InfoVisu Project

GNU getopt for Java

GXL: Proposed Software Exchange Format. See also the WoSEF web page. 

OOPSLA 01 Workshop on Software Visualization
ICSE 01 Workshop on Software Visualization
VISSOFT 2002 -WORKSHOP ON VISUALIZING SOFTWARE FOR UNDERSTANDING AND ANALYSIS
ACM Symposium on Software Visualization 2003
Data Visualization Workshop

Workshop on Software and Performance 2004
Workshop on Software and Performance 2002
Workshop on Software and Performance 2000 
Workshop on Software and Performance 1998

back.gif (1071 bytes)

  Static Program Analysis

          C/C++
            Program-Slicing
            Buffer Overrun detectiON - UCBerkeley
            Splint (formerly LClint): statically checking C programs virginia
            Bounds Checking for C (Imperial College)
            Lackwit -  context-sensitive alias analysis of C program   By Robert O'Callahan  CMU
            The SPAN Pointer Analysis Package - MIT  
            Star Diagram Tool  By Bill Griswold  UCSD
            CXREF a C language cross referencing and documenting tool
            NORA/RECS- Reengineering of Configuration Structures 
            Gen++-Source code analyzer generator for C++- UCDavis  by Devanbu, Prem (Available)            
            Wisconsin Program Slicing Tools  CodeSurfer page
            MSR SPA-Scalable Program Analysis
            MSR SLAM-Software (Specifications), Languages, Analysis, and Model checking
            MSR ESP-Error Detection Via Scalable Program Analysis
            Open Source Quality Project.
            BANE: The Berkeley ANalysis Engine for constructing constraint-based program analyses. By Alex Aiken(UCB)  Manuel Fähndrich(MSR)
            cqual- Type Qualifier U Berkeley  by Jeff Foster   cqual
            Berkely David Wagner's Application of Static and Dynamic Program Analysis to to Computer Security   
            MSR Sriram K. Rajamani's Model Checking   
            Rutgers's Barbara Ryder   PROLANGS- PROgramming LANGuageS research group
            PROLANGS Analysis Framework (PAF)  
            < href="http://www.research.att.com/~ciao/">CIA Program analysis tool for C programs. Developed at Bell Labs  
            VeriSoft  Automatic testing and state enumeration tool for C and C++ programs. Developed at Bell Labs
            Intrinsa's PREfix
            Unravel:A program slicing tool that can be used to statically evaluate ANSI C source code using program slicing

         Java/C/C++
            Reflexion Model Tool  By Gail Murphy UBC
            Lightweight Source Model Extraction: Support the lightweight source model extraction approach  By Gail Murphy  UBC
            Program Analysis Software tools available for download in UCSD
            Womble: lightweight tool for extracting object models from Java bytecode  By   Daniel Jackson  MIT
            The Java Modeling Language  
            < href="http://www.research.att.com/sw/tools/chava/">Program analysis tool for Java programs. Developed at Bell Labs- CHAVA
            Alloy Constraint Analyzer-a tool for analyzing Alloy models  By   Daniel Jackson  MIT
            SUIF Compiler Infrastructure- Stanford
            The Flex Program Analysis and Compilation System - MIT   Flex compiler
            Mulsaw project  
            CoffeeStrainer  Barat  Boris Bokowski  
            Ajax -Discovering properties of Java programs using static analysis of their Java bytecode   By Robert O'Callahan  CMU 
            Bandera- Software model construction for finite-state verification of Java
            JSpec Specializer - A Partial Evaluator for Java
            Extended Static Checker for Java (ESC/Java)   Cormac Flanagan  K. Rustan M. Leino
            Argouml - Java - UML  
            Lemme  VerifiCard Project VerifiCard   Electronic purse   
            Wuu Yang   
            Software tools from U Hawaii
            
            Joseph Roland Kiniry

            Free reverse engineering software tools

        Others:
            Little-JIL Semantic Checker
            PBS: Software Bookshelf Tools for extracting and visualizing the architecture of programs
            CIAO and CIA A graphical navigator for software and web repositories
            U Mass Laser Tools
            Refactoring Browser @UIUC
            SCG P.U.R.E. - Program Understanding & ReEngineering Toolset  Software Composition Group
            SHriMP  Margaret-Anne Storey 
            Rigi -an interactive, visual tool designed to help you better understand and re-document your software    by Dr. Hausi Müller. U  Victoria

            IBM Research's Frank Tip
            Stanford Program Analysis and Verification Group
            TAL (typed assembly language) by Greg Morrisett Cornell
            UW William Chan's Model Checking   
            TVLA- A Three-Valued-Logic Analyzer
            Semantic Designs, Inc. (SD) Reengineering Toolkit

            U Mass Flavers for Ada
    
            Semantics-based Program Analysis and Manipulation Projects Worldwide, from CMU
            Programming Languages Research Worldwide, from CMU
            Program Slicing page
            Type-based analysis and applications by Jens Palsberg
            Algorithmic and Automatic Debugging page
            Software Metrics page
        
            The National Compiler Infrastructure Project  
            Message-driven thread application programming interface (mdthread API) for Java

            Downloadable Parsing Tools:           
            C/C++:
            PROLANGS Analysis Framework (PAF)
            The SPAN Pointer Analysis Package - MIT
            SableCC 
            EDG C++ front-end
            CPPX: Open Source C++ Fact Extractor  Richard C. Holt
            GEN++ An application-generator to support development of analysis tools for the C++ language
            Unravel slicing tool for C   Project
            REDO project   PRECCX compiler compiler tool
            Arcadia analysis tools for Solaris 
            UCSD analysis tools  
            C-Breeze compiler infrastructure from the University of Texas 
            Vault @MSR

            Java:
            Compaq Research Software downloads
            SUIF Compiler Infrastructure- Stanford  j2s: A front end for the (O)SUIF Compiler System
           The Flex Program Analysis and Compilation System - MIT    Flex compiler
            Soot: a Java Optimization Framework  Annotating Java Bytecode    
            JAnalyzer
            Kopi Java compiler  
            RecodeR Framework
            jDFA - The Data-Flow Analysis Framework for Java
            Jikes™ RVM     Jikes Bytecode Toolkit  
            Scale - A Scalable Compiler for Analytical Experiments
            Recoder - Java framework for source code metaprogramming
            Barat Compiler Infrastructure  Introduction  
            BLOAT: The Bytecode-Level Optimizer and Analysis Tool
            Jarkata U Texas Austin  
            Java PathFinder 
            TVLA  Three-Valued-Logic Analysis engine is a framework for static analysis
            Jave Tree Builder   By Jens Palsberg  Purdue
            Java Compiler Compiler (JavaCC)
            JLex - A Lexical Analyzer Generator for Java    CUP Parser Generator for Java
            JFlex - The Fast Scanner Generator for Java    
            Jakarta - ant
            ANTLR      
            Java Instrumentation Engine Design document compares above four parsing tools
            Wasp static analysis tool for Java  waspsoft
            Javad: A Java Class File Disassembler  
            Bandera for Java  
            Jlint for Java    Cyrille Artho
            GNU Java Compiler        Barat 1.3 - A Compiler Front-End for Java
            JavaML-An XML-based Source Code Representation for Java Programs
            Program understanding tool - bunch Drexel 
            JCAT- A Deadlock Analysis Tool for Java Programs   tools
            YAV: A Formal Verification Software for Java   tools  
            Java Analysis, Optimization and Implementation References   Program Analysis Links  
            Java development tool list  
            Java class file optimizers and compression tools    
            Java Analyzer (proof of concept)
            Java Compiler/VM Software and Tools  
            doclet 
            doctorj - Diagnoses errors in Javadoc and Java code 
            Recoder - Java framework for source code metaprogramming 
            Dependency Finder - extract class dependencies from compiled Java code  Lists of Java dependency analyzers
            Jex - A Tool for Analyzing Exception Flow in Java Programs  
            JDepend   download
            The MiniJava Project

            Declarative Meta Programming pages, and the SOUL   JQuery


            Analysis tool lists 

           
            AT&T tools
            Exchange Formats for Information Extracted from Computer Programs
            Visualization of Compiler Graphs- Graph Drawing Tools        Call Graph Drawing Interface- A gprof VCG
            Bultan tools

            (``Free'') Tools for software reengineering
            CASE Tool Index
            CASE Vender Index  
            Slicing tool list 
            Program Understanding Tools Directory  Reengineering Resource Repository   
            Reverse Engineering Tool list    Refactoring Resources    scgwiki   
            Java Analysis, Optimization and Implementation References   Program Analysis Links

            8th International Static Analyis Symposium (SAS'01)

            Microsoft Research    Manuvir Das
            AT&T Lab Research Yih-Farn Robin Chen
            Bell-lab Software Production Research Department Audris Mockus 

            Manuvir Das (Microsfot Research)'s Static Analysis of Large Programs: Some Experiences (html version)
            Tom Reps (Univ. Wisconsin)'s Static Analysis for Software-Engineering Tools lecture slide
            Bill Griswold (UCSD)'s - Software Engineering Tools Research on Only $10 a Day  lecture slide


            Java Verificiation Workshop 2002
            Monica Lam's Stanford Advanced Compiler Topics course  
            Advanced Software Engineering course: Analysis and Evaluation at UMass 
            CSE 231 - Advanced Compiler Design and Implementation 
            198:516 - Programming Languages and Compilers Spring 2003 Lecture Notes by Ryder
            Cornell CS 611: Advanced Programming Languages  
            MIT 6898: Advanced Topics in Software Design
            Techniques of Correct Software Development course  
            Andreas Zeller's courses
            Fundamentals of Programming Languages CSCI 5535  Diwan 
            CS 8803G Object-Oriented Systems and Languages 2002 fall 
            CS 8803F Object-Oriented Systems and Languages 2001 fall
            CISC835: Introduction to the Automatic Analysis of Software Artifacts (Fall 2002)  Formal Methods in Software Engineering (CISC422).
            Design and Analysis of Programming Languages - CS 263 - Fall 2002              
            CS294-8, Formal Techniques for Software Reliability Spring 2001
            Aiken- Topics in Software Engineering – CS294 – Fall 2001 Aiken
            Aiken- Implementation of Programming Languages - CS 264 - Spring 2002   Aiken  
            CS 745 / ECE 725 : Computer Aided Verification (Fall, 2002)
            U Penn Modern Programming Language Implementation (Autumn 2002)  
            Rice COMP 512: Advanced Compiler Construction
            GIT Compiler Design: Optimizations for Modern Compilers  
            Stanford cs242 
            Trinity.edu CSCI 3294 - Program Analysis  
            Wisc.edu Construction of Compilers 2001 Fall
            Sable.mcgill.ca: Seminar in Advanced Compilation   COMP 621 Optimizing Compilers (Winter 2003)  520
            KSU Translators II (CIS 801) Fall '01
            COMP 621 Optimizing Compilers (Winter 2003) mcgill.ca
            Mike Ernst Course- Static and Dynamic Program Analysis for Software Engineering Reading               
            MIT Program Analysis Group Reading Group
            Univ of Washington Manuvir Das' Program Analysis Course
            Program Analysis Course  by Hanne Riis Nielson  
            Rutgers Seminar in Object-oriented Programming Languages 1999  
            Design and Implementation of Object-Oriented Virtual Machines 2002  
            UMD 731 2000 fall
            Program Analysis Course  
            GIT Program Analysis course 
            U Maryland Program Analysis course
            Program Analysis and Testing course   
            UBC Software Practice Lab Seminar
            Introduction to the Automatic Analysis of Software Artifacts  
            CMSC 631 - Program Analysis and Understanding by Bill Pugh  msc731  
            Software Specification (CIS 771) Home Page  
            CS 525V : Introduction to Computer-Aided Verification  
            Software Reverse Engineering 2003 cmput664  
            COMP3141 Amir Michail  
            Imperial College Seminars

        back.gif (1071 bytes)

  Dynamic Program Analysis

            Research:
               Richner's dynamic analysis research
               Java Dynamic Tool - Caffeine
               Dynamic analysis of Java bytecode execution - Reverse Engineering
               Recon3 Wilde's dynamic analysis research    wilde   RECON: Software Reconnaissance Tool for "C" Programmers
               Fault Localization via Visualization-Tarantula
               Eric Wong   H. Agrawal
               Tarja Systä Java Dynamic Reverse Engineering   ARCHIMEDES : Managing Product-line Software Architectures
               SERC
               Berkely David Wagner's Application of Static and Dynamic Program Analysis to to Computer Security   
               Stanford's Dawson Engler's Checking
               Improving Program Robustness via Static Analysis and Dynamic Instrumentation in Stanford SUIF    DIDUCE
               UCI's Expectation-Driven Event Monitoring (EDEM)
              DESSERT  Software Visulization  Evolutionary Design of Complex Systems   Steven Reiss's Program Instrumentation Project
              UCI's Software Adaptation Repository
              Complex Event Processing at Stanford
              U Penn's Run-time Monitoring and Checking
              Berkeley's Open Source Quality
              OGI PacSoft's Programatica: Integrating Programming, Properties, and Validation
              MIT Rivet Virtual Machine
              Bell Lab's Verisoft - A tool for Systematic Software Testing
              Hany H. Ammar West Virginia U.

              1st Workshop on Runtime Verification
              2nd Workshop on Runtime Verification

              Mike Ernst Course- Static and Dynamic Program Analysis for Software Engineering Reading

          Debugging tools
              GUARD-A parallel relative debugger
              Andreas Zeller     Delta Debugging - from automated testing to automated debugging   Memgraphs   Software System Chairs
              DDD-Data Display Debugger 
              IDebug
              Fox Query-Based Debugger
              Poet (Partial-Order Event Tracer) - The Shoshin Debugger (U Waterloo)
              Spyder debugger @ Purdue U.
              SpyJ visual debugging utility   

              Unravel:A program slicing tool that can be used to statically evaluate ANSI C source code using program slicing
              Programs for Evaluating Software Testing Tools and Techniques (PESTTT)

              Falcon -Monitoring and Steering System (Georgia Tech U)

              Algorithmic and Automatic Debugging page             

         Analyzer Tools:
           Source Code Instrumentation
                Java Instrumentation Engine(JIE)           
                Daikon: Program invariant detector    by Michael D. Ernst   MIT  Mike Harder   Ben Morse  Jeremy Nimmer
                Java StateDumper    Michelle L. Crane
                Java Analyzer & Panorama for Java
                TCAT for Java for UNIX- Test Coverage Analyzer and Source Analysis Facility for Java             Testworks 
                Java Test Coverage and Instrumentation  
                Panorama for Java                    Panorama        Panorama-2    Panorama Test
                Java Design by Contract Tool (iContract)
                JConstract-Runtime Checker
                AT&T tools

               NASA AIMS- Automated Instrumentation and Monitoring System  Parallel Tools Team
               UWF Recon  C RECON: Software Reconnaissance Tool for "C" Programmers
               Telcordia Software Visualization and Analysis Toolsuite (xSuds) C/C++
               Dynascope-a Platform for Building Directors

              ByteCode/Executable Adaptation
                Java Object Instrumentation Environment(JOIE) Duke   
                Binary component adaptation (BCA) UCSB
                Bytecode Instrumenting Tool(BIT) Colorado  
                BIT    Java ProfBuilder
                Byte Code Engineering Library         Method Tracing tool
                JTrek (Compaq)      jtrek-docs
           
                Compaq ATOM    
                Wisconsin Architectural Research Tool Set includes Program profiling tool (PP), Program profiling and tracing system (QPT).Sun/Solaris
                UW Etch Call Graph Profiling  

              Dynamic Instrumentation
                Dynamic Instrumentaion in Univ. Wisconsin /DynstJ for Java       DyninstAPI in U Maryland

              JVMPI Interface
                Jinsight- IBM    Wim De Pauw      Gary Sevitsky
                The Knowledge Discovery System - subdue @ UT Arlington  
                xdProf: a tool for the capture and analysis of stack traces
                Gadget - A Dynamic Software Structure Inspector for JAVA Programs (drexel)   SERG Drexel
                JProbe           
                Rational's Quantify for Unix        Rational's Quantify for NT         Review quantify
                Intel VTune Performance Analyzer-callgraph
                Optimizeit Java Performance Profiler
                TrueTime Java Profiler
                HPjmeter Performance Analysis Tool    Call tree
                TAU (Tuning and Analysis Utilities) performance analysis environment
                PerfAnal: A Performance Analysis Tool
                Java Profileviewer - Xrunhprof
                Brown's BLOOM  

                JVMDI Code Coverage Analyser for Java

             Instrumented JVM
                Javanauts (UAH)
                UMN JaViz   Java Profiling and Visulization Tool

            Others:
                VisiVue- Runtime Software Visualization for Java

            Testing Code Coverage Tools:
               
Software Testing Resources on the Web        Testing Tools Summary
                Logiscope   LOGISCOPE DOC     Best Java Testing Tools
                CCover   
             Cantata++               Cantata
                ldra              Panorama-2     softwareautomation

                    Testworks
                Telcordia Software Visualization and Analysis Toolsuite (xSuds)
                Concerto-AUDIT  No download
                Testing Distributed System - Purdue- Corba/COM                           

            Profiling Tools & Other Tools
               
Java Performance Tuning Java Performance Tuning 2   Javaworld- Performance
                Sun Java Virtual Machine Profiler Interface (JVMPI)
                Profiling Tool Summary   Profiling Summary     profiling summary   tru64unix compaq   Profiling doc
                mozilla performance tools    Best Java profiling tool    Profiling tools evaluation
                XProfiling
                Object Oriented System Development Book's Performace Optimzation Chapter
                Rational Purify   
                Fresco Profiling

               Java Workshop Profiler
                Sourceforge-Javaprofiler-planning
                Open Source Java Profiler
                HyperProf - Java profile browser  (not available)
                Performance Monitoring for the Pentium and Pentium Pro Under the Linux Operating System
                AIMS- performance evaluation of parallel applications on multiprocessors
                pgrt- Instrumentation and Visualization for Design and Testing of Real-Time Systems
                Perfmon/Mperfmon -Performance Monitoring for the Pentium and Pentium Prof under Linux
                Vampir - Visualization and Analysis of MPI Programs
                Pablo- Performance analysis tool for parallel programs
                ParaGraph - Visualizing the Performance of Parallel Programs      mpicl- Portable Instrumentation Library for Fortran & C parallel programs
                Agrawal's Call graph
                BSP call graph profiling tool   Download
                Lightweight Corefile Browser   Download
                IBM OS390 use C/C++ Productivity Tools' Performance Analyzer
                GNU memprof
                jprof
                cprof
               Cost centre stack profiler
                Mutek bugTrapper
                SGI kernprof for Linux
                Mercury mprof   Mercury

                GNU Gprof:  A Call Graph Execution Profiler       Download   Windows gprof    gprof_doc  gprof/paper
                Call Graph Drawing Interface- A gprof VCG        
                Compaq hiprof   (no download)  hiprof doc
                HyperProf  Java profile browser
                Aicall166   
              
                Jswat -Graphical Java Debugger

               Microsoft Research Thomas Ball            
               Microsoft Research James R Larus

               Tom Ball (Microsoft)'s  Dynamic Program Analysis lecture slide
               Bill Griswold (UCSD)'s - Software Engineering Tools Research on Only $10 a Day  lecture slide

               Java Verificiation Workshop 2002

               Reverse Engineering Tool list    Refactoring Resources    scgwiki
            
          back.gif (1071 bytes)

   Architectural Evolution & Architecture

            ECOOP Workshop series on Object-oriented Archiectireal Evolution
            Architectural Design and Evolution of Integrated Systems       
            IRUS: Irvine Research Unit in Software's Evolutionary Design of Complex Software (EDCS)
                   UCI Peymano's  Decentralized Software evolution  
            ADL 2.0 by UCI (Available)
            Jianjun Zhao  Afanti: Analysis and Testing for Aspect-Oriented Software 

            Dynamic Architecture Resources         Software Adaptation Repository
           
            Mission ORiented Architectural Legacy Evolution (GIT) by   GIT's Gregory Abowd
            Java Software Architecture Evolution Tool (iDarwin)

            MIT Robust Open Multi-Agent Systems (ROMA) Research Group
                        
            ArchJava by U Washington Jonathan Aldrich
            Austin's Perry, Dewayne  's Software Architecture Big Research Links: Project, Group, Bibliographies, Workshops/Conferences
            Austin's Don Batory 's Product Line Architecture Research Group
            Rapide Stanford
            CMU's David Garlan
            CMU's Mary Shaw
            CMU SEI's Rick Kazman
            USC's Barry Boehm 's Center for Software Engineering at USC
            Alexander Egyed (Teknowledge)
            USC's Robert Balzer 's Software Sciences Division   Teknowledge-Robert Balzer   Teknowledge.com DAML  
            USC's Neno Medvidovic
            UCI's Richard N. Taylor's Irvine Research Unit in Software (IRUS)
            UCI's David Rosenblum
            UCI André van der Hoek
            Colorado's Alexander L. Wolf   's Software Engineering Research Laboratory            
            GIT's Gregory Abowd
            UMass Lori Clarke  Lee Osterweil's Laboratory for Advanced Software Engineering Research
            UIUC patterns/Software Architecture Group by Ralph E.Johnson 
            SWAG: Software Architecture Group  Richard C. Holt
            Distributed Software Engineering Group in U London  Prof. J. Kramer
            Hany H. Ammar West Virginia U.