What is a Mental Model?

Similar documents
Software Maintenance

Language Acquisition Chart

A Context-Driven Use Case Creation Process for Specifying Automotive Driver Assistance Systems

Knowledge based expert systems D H A N A N J A Y K A L B A N D E

Testing A Moving Target: How Do We Test Machine Learning Systems? Peter Varhol Technology Strategy Research, USA

Module 12. Machine Learning. Version 2 CSE IIT, Kharagpur

LEGO MINDSTORMS Education EV3 Coding Activities

Seminar - Organic Computing

CAAP. Content Analysis Report. Sample College. Institution Code: 9011 Institution Type: 4-Year Subgroup: none Test Date: Spring 2011

Feature-oriented vs. Needs-oriented Product Access for Non-Expert Online Shoppers

Stacks Teacher notes. Activity description. Suitability. Time. AMP resources. Equipment. Key mathematical language. Key processes

Guidelines for Writing an Internship Report

Controlled vocabulary

MYCIN. The MYCIN Task

The Strong Minimalist Thesis and Bounded Optimality

BSP !!! Trainer s Manual. Sheldon Loman, Ph.D. Portland State University. M. Kathleen Strickland-Cohen, Ph.D. University of Oregon

WE GAVE A LAWYER BASIC MATH SKILLS, AND YOU WON T BELIEVE WHAT HAPPENED NEXT

Disciplinary Literacy in Science

Knowledge-Based - Systems

A Case Study: News Classification Based on Term Frequency

Task Types. Duration, Work and Units Prepared by

My Program is Correct But it Doesn t Run: A Preliminary Investigation of Novice Programmers Problems

WHI Voorhees SOL Unit WHI.3 Date

Modeling user preferences and norms in context-aware systems

Education: Professional Experience: Personnel leadership and management

Organizing Comprehensive Literacy Assessment: How to Get Started

Generating Test Cases From Use Cases

The Effect of Discourse Markers on the Speaking Production of EFL Students. Iman Moradimanesh

Criterion Met? Primary Supporting Y N Reading Street Comprehensive. Publisher Citations

CWIS 23,3. Nikolaos Avouris Human Computer Interaction Group, University of Patras, Patras, Greece

Intelligent Agents. Chapter 2. Chapter 2 1

5. UPPER INTERMEDIATE

TU-E2090 Research Assignment in Operations Management and Services

Program Matrix - Reading English 6-12 (DOE Code 398) University of Florida. Reading

Rover Races Grades: 3-5 Prep Time: ~45 Minutes Lesson Time: ~105 minutes

Investment in e- journals, use and research outcomes

Purdue Data Summit Communication of Big Data Analytics. New SAT Predictive Validity Case Study

Systematic reviews in theory and practice for library and information studies

How to Judge the Quality of an Objective Classroom Test

Reading Grammar Section and Lesson Writing Chapter and Lesson Identify a purpose for reading W1-LO; W2- LO; W3- LO; W4- LO; W5-

Professor Christina Romer. LECTURE 24 INFLATION AND THE RETURN OF OUTPUT TO POTENTIAL April 20, 2017

Service and Repair Pneumatic Systems and Components for Land-based Equipment

Arizona s English Language Arts Standards th Grade ARIZONA DEPARTMENT OF EDUCATION HIGH ACADEMIC STANDARDS FOR STUDENTS

Formative Assessment in Mathematics. Part 3: The Learner s Role

Guide to Teaching Computer Science

Loughton School s curriculum evening. 28 th February 2017

Fisk Street Primary School

Reinforcement Learning by Comparing Immediate Reward

A Study of the Effectiveness of Using PER-Based Reforms in a Summer Setting

ASSISTIVE COMMUNICATION

The College Board Redesigned SAT Grade 12

Objectives. Chapter 2: The Representation of Knowledge. Expert Systems: Principles and Programming, Fourth Edition

Summary results (year 1-3)

A cognitive perspective on pair programming

English Language and Applied Linguistics. Module Descriptions 2017/18

The Effect of Close Reading on Reading Comprehension. Scores of Fifth Grade Students with Specific Learning Disabilities.

Probabilistic Latent Semantic Analysis

Speech Recognition at ICSI: Broadcast News and beyond

A GENERIC SPLIT PROCESS MODEL FOR ASSET MANAGEMENT DECISION-MAKING

OUTLINE OF ACTIVITIES

SAP EDUCATION SAMPLE QUESTIONS: C_TPLM40_65. Questions. In the audit structure, what can link an audit and a quality notification?

DICTE PLATFORM: AN INPUT TO COLLABORATION AND KNOWLEDGE SHARING

Vorlesung Mensch-Maschine-Interaktion

Maximizing Learning Through Course Alignment and Experience with Different Types of Knowledge

Practical Research. Planning and Design. Paul D. Leedy. Jeanne Ellis Ormrod. Upper Saddle River, New Jersey Columbus, Ohio

A Grammar for Battle Management Language

Geo Risk Scan Getting grips on geotechnical risks

The Good Judgment Project: A large scale test of different methods of combining expert predictions

Student Name: OSIS#: DOB: / / School: Grade:

MYCIN. The embodiment of all the clichés of what expert systems are. (Newell)

104 Immersive Learning Simulation Strategies: A Real-world Example. Richard Clark, NextQuestion Deborah Stone, DLS Group, Inc.

Distributed Weather Net: Wireless Sensor Network Supported Inquiry-Based Learning

Sample Performance Assessment

Prentice Hall Literature: Timeless Voices, Timeless Themes Gold 2000 Correlated to Nebraska Reading/Writing Standards, (Grade 9)

Learning Prospective Robot Behavior

Instruction: The Differences That Make A Difference. Mario Campanaro

FIGURE IT OUT! MIDDLE SCHOOL TASKS. Texas Performance Standards Project

Spinners at the School Carnival (Unequal Sections)

REVIEW OF CONNECTED SPEECH

Accelerated Learning Course Outline

For the Ohio Board of Regents Second Report on the Condition of Higher Education in Ohio

Applying Florida s Planning and Problem-Solving Process (Using RtI Data) in Virtual Settings

Lecture 1: Machine Learning Basics

CEFR Overall Illustrative English Proficiency Scales

Prentice Hall Literature: Timeless Voices, Timeless Themes, Platinum 2000 Correlated to Nebraska Reading/Writing Standards (Grade 10)

Effect of Word Complexity on L2 Vocabulary Learning

GACE Computer Science Assessment Test at a Glance

AUTOMATED TROUBLESHOOTING OF MOBILE NETWORKS USING BAYESIAN NETWORKS

Participant s Journal. Fun and Games with Systems Theory. BPD Conference March 19, 2009 Phoenix AZ

M55205-Mastering Microsoft Project 2016

Medical Complexity: A Pragmatic Theory

Pre-vocational training. Unit 2. Being a fitness instructor

Lecture 1: Basic Concepts of Machine Learning

SEMAFOR: Frame Argument Resolution with Log-Linear Models

Major Lessons from This Work

Plainfield Public School District Reading/3 rd Grade Curriculum Guide. Modifications/ Extensions (How will I differentiate?)

Achievement Level Descriptors for American Literature and Composition

Ontological spine, localization and multilingual access

Publisher Citations. Program Description. Primary Supporting Y N Universal Access: Teacher s Editions Adjust on the Fly all grades:

California Department of Education English Language Development Standards for Grade 8

Transcription:

Mental Models for Program Understanding Dr. Jonathan I. Maletic <SDML> Computer Science Department Kent State University What is a Mental Model? Internal (mental) representation of a real system s behavior, organization, and internal structure. Mental Model Domain Knowledge Visual Inspection System Mental Models Must construct a mental model of a system in order to use/modify a software system The goal is to understand how a system works and is constructed well enough to support a given task We use: Visual inspection, reading Knowledge about the problem domain, the system, past experience, heuristics 1

Example Using a car versus fixing one. Only need to understand that the gas petal on a car is pressed down to make the car go faster if all you want to do is drive the car this is fine. If the goal is to fix a sticky accelerator then you need to look under the hood and (maybe) in a technical manual. You don t have to know how to rebuild a motor to drive a car Complexity of Model The accuracy and complexity of the model depends on the task or usage scenario Only relatively simple mental model of an automobile is required for driving one A complex and accurate mental model of an automobile is necessary to repair or build one Mental Models of Software For many years researchers have tried to understand how programmers comprehend programs (software) during: Software Development Software maintenance/evolution Novice versus Expert 2

What Purpose Does a Mental Model Serve? Mental models allow researchers a way to analyze the cognitive processes behind software development and maintenance What Makes up a Mental Model? static elements dynamic elements Text Structure Chunks Plans Hypotheses Beacons Rules of Discourse Static Elements 3

Text Structure The program text and its structure if-then-else loops variable definitions parameter definitions Chunks Knowledge structures containing different levels of abstractions of text structures. Miller s work from 56 7 +-2 macro-structure micro-structure Plans Knowledge elements for developing and validating expectations, interpretations, and inferences. They correspond to a vocabulary of intermediate level programming concepts such as a counter. Example: The average plan includes a counter plan. 4

Hypothesis Conjectures that are results of comprehension activities that can take seconds or minutes to occur. They are drivers of cognition. They help to define the direction of further investigation. why how what Beacons Signals that index into knowledge. An example of a beacon is a swap. It has been proven that experienced programmers recall beacon lines much faster than novice programmers. They are used most commonly in top-down comprehension. Rules of Discourse Rules that specify the conventions in programming. They set the expectations of the programmer. Examples: Variables should reflect function Don t include text that won t be used If there is a test for a condition, the condition should have the potential to be true. 5

Strategies Actions Episodes Processes Dynamic Elements Strategies A sequence of actions that lead to a particular goal. opportunistic strategy systematic strategy Actions Classify programmer activities implicitly and explicitly during a specific maintenance task. 6

Episodes Are made up of a sequence of actions. Processes An aggregation of episodes. adaptive perfective corrective reuse code leverage Maintenance Tasks 7

Adaptive Understand the system Define requirements Develop preliminary and detailed design Code changes Debug Regression tests Perfective Understand the system Diagnosis and requirement definition for improvements Develop and design preliminary design Code changes and/or additions Debug Regression tests Corrective Understand the system Generate and/or evaluate hypotheses concerning the problem Repair the code Regression tests 8

Reuse Understand the problem, find solution based on close fit with predefined components Obtain predefined the components Integrate predefined components Code Leverage Understand the problem, find solution based on predefined components Reconfigure solution to increase likelihood of using predefined components Obtain and modify predefined components Integrate modified components Mental Model The type of mental model a programmer uses is determined by the type of development/ maintenance task he has to perform. 9

Proposed Mental Models Letovsky 86 Shneiderman 79, 80 Brooks 77, 83 Soloway / Ehrlich 83, 84, 88 Pennington 87 Integrated (Von Mayrhauser 94, 95, 97) Letovsky Model Opportunistic approach. This model has three main parts: knowledge base mental model assimilation process (bottom-up/top-down) Letovsky Model Knowledge Base Assimilation Process External Dangling Purpose Unit Internal 10

Shneiderman Model The main parts of this model are: short-term memory (uses chunking) internal semantics (working memory) long-term memory Shneiderman Model Problem Statement Program Short-term Memory Internal Semantics Working Memory Program Problem Statement Design Activity Comprehension Activity Long-term Memory Semantic Syntactic Knowledge Knowledge Brooks Model Top-down model.this model uses: hypotheses beacons 11

Brooks Model Problem beacons Verify Internal Schema against External External (Requirement Documentation) Verify Internal Schema against External Match Intermediate Domain Schemas beacons External (Program Code) External Preliminary & Detailed Design Documents Internal - Mental Model Hypothesis and Subgoals beacons Programming Domain Knowledge Verify Internal Schema against External Soloway / Ehrlich Model Top down approach. Also known as domain model. This model uses: plans rules of discourse chunks Soloway / Ehrlich Model Rules of Discourse External Understanding Process Internal (Plans/Schemas) chunks Programming Plans (Schemas) chunks chunks chunks 12

Pennington Model Bottom-up approach. This model uses: beacons text structures chunks plans Pennington Model External (Program Code) Match Comprehension Process Text Structure Knowledge External (Document Code) Match Comprehension Process Plan Knowledge Mental Text-Base Mental Situation Model Xref Map Integrated Model Top-down, bottom-up approach. This model contains the following: top-down model bottom-up model program model knowledge base 13

Integrated Model Opportunistic Top-Down Systematic Bottom-Up Program Model Structures Long Term Memory Top-Down Structures Knowledge Structures Situation Model Structures Opportunistic or Bottom-up Systematic Common Elements of Mental Model Knowledge general knowledge software specific knowledge Comparison of the Six Models Letovsky Model - general Shneiderman Model - hierarchical organization Brooks Model - hypothesis driven Soloway / Ehrlich Model - knowledge similar to Letovsky Model Pennington Model - detailed, lacks higher level knowledge Integrated Model - combination of the other 5 models. 14

Conclusion It is important to learn how programmers understand code. This could lead to better tools, better maintenance guidelines and documentation. 15