SWE-795 Presentation 01 11/16/2018 Asking and Answering Questions during a Programming Change Task Jonathan Sillito, Member, IEEE Computer Society, Gail.

Slides:



Advertisements
Similar presentations
Critical Reading Strategies: Overview of Research Process
Advertisements

Analyzing Student Work
Session # 2 SWE 211 – Introduction to Software Engineering Lect. Amanullah Quadri 2. Fact Finding & Techniques.
Advanced Manufacturing Laboratory Department of Industrial Engineering Sharif University of Technology Session # 5.
How to Read a CS Research Paper? Philip W. L. Fong.
Security Models for Trusting Network Appliances From : IEEE ( 2002 ) Author : Colin English, Paddy Nixon Sotirios Terzis, Andrew McGettrick Helen Lowe.
Writing Good Software Engineering Research Papers A Paper by Mary Shaw In Proceedings of the 25th International Conference on Software Engineering (ICSE),
Introduction to research Analyzing and interpreting research data
An Introduction to Software Visualization Dr. Jonathan I. Maletic Software DevelopMent Laboratory Department of Computer Science Kent State University.
Lecture 2 Research Questions: Defining and Justifying Problems; Defining Hypotheses.
Proposal Strengths and Weakness as Identified by Reviewers Russ Pimmel & Sheryl Sorby FIE Conference Oct 13, 2007.
WRITING A RESEARCH PROPOSAL
Moving forward with Scalable Game Design. The landscape of computer science courses…  Try your vegetables (sneak it in to an existing course)  Required.
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
DR. AHMAD SHAHRUL NIZAM ISHA
Planning an Applied Research Project Chapter 2 – Developing an Interest or Topic © 2014 by John Wiley & Sons, Inc. All rights reserved.
May 19-22,  Become familiar with the Fostering Algebraic Thinking materials.  Examine activities that may be challenging to facilitate. 
Part II: Planning Your Research Project Module Four: Research Questions, Purpose, Scope 1 RESEARCH PROJECT MANAGEMENT.
Abstract 1  It should a brief summary of approximately 300 words  It should include  the research question,  the rational for the study,  the hypothesis,
1 Asking and Answering Questions during a Programming Change Task, By Jonathan Sillito, Member, IEEE, Gail C. Murphy, Member, IEEE, and Kris De Volder.
Asking Research Questions Sally Fincher Building Research in Australasian Computing Education: Second Workshop 26 th -29 th January 2005:
Final Exam Review Geb Thomas. Information Systems Applications.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1. October 25, 2011 Louis Everett & John Yu Division of Undergraduate Education National Science Foundation October 26, 2011 Don Millard & John Yu Division.
Conducting Research in the Social Sciences (From: Individuals and Families: A Diverse Perspective (2010))
Discuss how researchers analyze data obtained in observational research.
Helpful hints for planning your Wednesday investigation.
1 Requirements Analysis Lecture # Recap of Requirements Elicitation - 1 Requirements elicitation deals with discovering requirements for a software.
Program Comprehension Program Understanding Behavior During Debugging Of Large Scale Software Anneliese von Mayrhauser (Andrews) and A. Marie Vans Rizal.
Supporting Software History Exploration Alexander W. J. Bradley Gail C. Murphy Software Practices Lab Department of Computer Science University of British.
Scope of Systems Requirements: Definition o f Requirements Not to define the full system Not to define the full system Describe or define the essential.
Module 1: Overview of the Framework for K–12 Science Education
Short Contribution Title Goes Here
Instructional Leadership for a Professional Learning Culture:
Academic Writing Skills
Pei-Yu (Peggy) Chi,, Yang Li1, Björn Hartmann
ITEC 630 Final Examination Spring 2015
Planning an Applied Research Project
Fundamentals of Information Systems, Sixth Edition
Research Methods Dr. X.
Business System Development
Outline What is Literature Review? Purpose of Literature Review
Process Modelling Chapter 6.
Choreographies: the idea
Systems Analysis and Design in a Changing World, 6th Edition
Lee Martie, Thomas D. LaToza, and André van der Hoek
Program comprehension during Software maintenance and evolution Armeliese von Mayrhauser , A. Marie Vans Colorado State University Summary By- Fardina.
Individual Research Report and Team Multimedia Presentation
Summary (breakout session name) Science Opportunity #1
Programming languages and software development
Q uality uestioning Materials adapted from QUILT curriculum:
Short Contribution Title Goes Here
AS LEVEL Paper One – Section A / B
What is qualitative research?
Pakis Social Entrepreneurial Challenge
ISTE Workshop Research Methods in Educational Technology
Deciding on a purpose (who, what, where, when, why, how)
How to write a thesis proposal
Members: Keshava Shiva Sanjeeve Kareena
A Story of Functions Module 2: Modeling with Descriptive Statistics
Introduction to Quality Improvement Methods
Critical Reading: Comprehension and Extended Reasoning
QUALITATIVE RESEARCH METHODS 2017
Chapter Seven: Research Questions and Hypotheses
Summarizing Journal Articles & Online Tools for Researchers
Understanding Scholarly Journal Articles
Chapter Six: The Purpose Statement
From Use Cases to Implementation
Formulating Research Questions (RQ’s) Refer EXERCISE # 1
APMP Professional Certification
Presentation transcript:

SWE-795 Presentation 01 11/16/2018 Asking and Answering Questions during a Programming Change Task Jonathan Sillito, Member, IEEE Computer Society, Gail C. Murphy, Member, IEEE Computer Society, and Kris De Volder Summery By- Fardina Fathmiul Alam , G#01031111 SWE 795, Spring 2017 Software Engineering Environments

Key Idea: Little is known about the specific kinds of questions programmers ask when evolving a code base and how well existing tools support those questions. To better support the activity of programming, answers are needed to three broad research questions: 1) What does a programmer need to know about a code base when evolving a software system? 2) How does a programmer go about finding that information? 3) How well do existing tools support programmers in answering those questions? This paper undertook two qualitative studies of programmers performing change tasks to provide answers to these questions. Based on these studies, they reported on an analysis of the data.

Key contributions: First contribution: A catalog of 44 types of questions programmers ask during software evolution tasks. Second contribution: Description of the observed behavior around answering those questions. Third contribution: Description of how existing deployed and proposed tools do, and do not, support answering programmers’ questions. Based on these results, this paper has discussed the support that is missing from existing programming tools.

Previous Works: Contribution: developing models of program comprehension, which are descriptions of the cognitive processes a programmer uses to build an understanding of a software system how programmers perform change tasks, including how programmers use tools in that context Limitations: do not consider in detail what a programmer needs to know about a code base when performing a change task how the programmer finds that information, nor how well tools support those activities

Study One: Laboratory-Based Investigation Goal: Observe programmers performing significant change tasks using state-of-the-practice development tools. Task: In each session, work on a change task using the Eclipse IDE ( representative of the state-of the-practice)

Study Two: Industry-Based Investigation Goal: Observe programmers performing significant change tasks to a software system for which Participants had responsibility. The systems were implemented in a range of languages and the participants used the tools that they would normally use. Task: In each session, the programmer was asked to describe the task he or she had selected and think aloud while working on the task.

Catalog of Questions in context Discovering focus points in the graph How a given entity and other entities are related Multiple Relationship between an entity and other entities, about data and control flow How entities relate to each other or to the rest of the system

Tools Support for analysis questions analyzed the literature on programming tools and techniques for exploring source code. identified tool with support for answering questions determined whether or not tools or techniques exists to address each question. Rated the level of support provided by the best available tool they found as full or partial

Summary: the techniques and tools & their level of support applicable to answering each question

Questions for discussion Overall reactions Where might the contribution of this paper have the most impact? What the limitations? Are the claims/process about the category of Questions are convincing? What aspect seems the most challenging?