Aristotle Research Group - PowerPoint PPT Presentation

1 / 14
About This Presentation
Title:

Aristotle Research Group

Description:

We investigate ways to improve the techniques and tools used by software ... that likely contain the fault (fault-localization, debugging, Tarantula) ... – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 15
Provided by: maryjean
Category:

less

Transcript and Presenter's Notes

Title: Aristotle Research Group


1
Aristotle Research Group
  • Mary Jean Harrold
  • Research in Program Analysis
  • Based Software Engineering
  • Georgia Tech

2
Research Goal
  • We investigate ways to improve the techniques and
    tools used by software developers and
    maintainers, allowing them to create high quality
    software more efficiently

3
Our Approach
Automated Techniques for Software Engineering
Tasks

Our research often follows a spiraling work flow,
each step giving new insight into the next
Experimentation
Enabling Technology
Implementation of Tools
4
Our Approach
Automated Techniques for Software Engineering
Tasks
  • We research techniques for use in situations such
    as
  • When a program fails (produces incorrect output,
    behaves unexpectedly, crashes, etc.), find the
    cause or location of the failure (debugging,
    fault localization)
  • When changes are made to a program, determine
    which test cases need to be rerun (selective
    regression testing)
  • When a programmer joins an existing project
    where little documentation is available, extract
    architecture and design of software (program
    understanding)

Our research often follows a spiraling work flow,
each step giving new insight into the next
Experimentation
Enabling Technology
Implementation of Tools
5
Our Approach
Automated Techniques for Software Engineering
Tasks
  • We research techniques for use in situations such
    as
  • When a program fails (produces incorrect output,
    behaves unexpectedly, crashes, etc.), find the
    cause or location of the failure (debugging,
    fault localization)
  • When changes are made to a program, determine
    which test cases need to be rerun (selective
    regression testing)
  • When a programmer joins an existing project
    where little documentation is available, extract
    architecture and design of software (program
    understanding)

Experimentation
Enabling Technology
Enabling Technology
Implementation of Tools
6
Our Approach
Automated Techniques for Software Engineering
Tasks

Experimentation
Enabling Technology
Enabling Technology
Implementation of Tools
7
Our Approach
Automated Techniques for Software Engineering
Tasks

Experimentation
Enabling Technology
Experimentation With Research Techniques
Implementation of Tools
8
Our Approach
Automated Techniques for Software Engineering
Tasks

Experimentation
Enabling Technology
Experimentation With Research Techniques
Implementation of Tools
9
Our Approach
Automated Techniques for Software Engineering
Tasks

Experimentation
Enabling Technology
Implementation of Tools
10
Our Approach
Automated Techniques for Software Engineering
Tasks

Experimentation
Enabling Technology
Implementation of Tools
11
Research Projects
  • Some current research projects
  • Determine, for evolving software, the subset of
    tests that should be run on the changed version
    (test suite selection, prioritization, and
    reduction, augmentation, DejaVu, DejaVoo)
  • Determine possible flow of control, and assist
    with understanding, testing, and maintenance
    programs with exception-handling constructs
    (exception analysis. ExPo)
  • Automatically discover program behaviors after or
    during system execution (using machine learning)
    (behavior modeling and classification, Gimbal)
  • Automatically identify, for programs that fail,
    those statements that likely contain the fault
    (fault-localization, debugging, Tarantula)
  • Monitor and analyze deployed software to improve
    quality (Gamma)
  • Illuminate, using visualization techniques,
    relations and phenomena in the software not
    apparent with traditional inspection (software
    visualization)
  • Analyze C and Java programs to facilitate
    research prototypes and tools (Aristotle, JABA)

12
Support, Activities
  • Our research has been supported by
  • Government agencies such as National Science
    Foundation, NASA
  • Companies such as Boeing, IBM, Lucent, Microsoft,
    Tata Consultancy Services
  • We present our research results in
  • Journals such as IEEE Transactions on Software
    Engineering, ACM Transactions on Software
    Engineering and Methodology, Journal of Software
    Testing, Verification, and Reliability
  • Conferences such as International Conference on
    Software Engineering, ACM International Symposium
    on Software Testing and Analysis, ACM Foundations
    of Software Engineering, and IEEE International
    Conference on Software Maintenance

13
Students
  • Our students actively participate by
  • Developing new techniques and algorithms
  • Implementing tools in a variety of languages
  • Performing experimentation to verify their
    techniques
  • Preparing research papers for conferences and
    journals
  • Presenting papers at major conferences
  • Participating in the preparation of research
    proposals

14
For More Information

See our web site at http//www.cc.gatech.edu/aris
totle
Write a Comment
User Comments (0)
About PowerShow.com