Application Domain Knowledge and Programmers’ Mental Representations Teresa M. Shaft University of Oklahoma Iris Vessey Indiana University.

Slides:



Advertisements
Similar presentations
Performance Assessment
Advertisements

Qualifications Update: National 5 Music Qualifications Update: National 5 Music.
IN-SERVICE TRAINING PROGRAMME FOR GUIDANCE COUNSELORS IN SPECIAL NEEDS EDUCATION SCOPE 3 study points Keskuspuisto Vocational College.
Test Automation Success: Choosing the Right People & Process
Why this Research? 1.High School graduates are facing increased need for high degree of literacy, including the capacity to comprehend texts, but comprehension.
HOW DO PROFESSIONAL DEVELOPERS COMPREHEND TO SOFTWARE Report submitted by Tobias Roehm, Rebecca Tiarks, Rainer Koschke, Walid Maalej.
Dr Jim Briggs Masterliness Not got an MSc myself; BA DPhil; been teaching masters students for 18 years.
Evaluating Minnesota’s Subsurface Sewage Treatment (SSTS) Professional Experience Program Nicholas Haig.
Quantitative vs. Qualitative Research Method Issues Marian Ford Erin Gonzales November 2, 2010.
Realism in Assessment of Effort Estimation Uncertainty: It Matters How You Ask By Magne Jorgensen IEEE Transactions on Software Engineering Vol. 30, No.
Introduction To System Analysis and Design
BROADWAY: A SOFTWARE ARCHITECTURE FOR SCIENTIFIC COMPUTING Samuel Z. Guyer and Calvin Lin The University of Texas.
Ch3: Software Engineering Principles 1 What is a principle?  Definition:  Goals of accounting principles:  Goals of software engineering principles?
Unit Five – Transforming Organizations
HFSD Methods Nov HFSD Methods Objectives –To consider types of systems –To characterise methods for HF input into SD –To identify HF contributions.
Meaningful Learning in an Information Age
9 1 Chapter 9 Database Design Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Creating Research proposal. What is a Marketing or Business Research Proposal? “A plan that offers ideas for conducting research”. “A marketing research.
The phases of research Dimitra Hartas. The phases of research Identify a research topic Formulate the research questions (rationale) Review relevant studies.
Chapter 17 Acquiring and Implementing Accounting Information Systems
Software Construction and Evolution - CSSE 375 Software Documentation 1 Shawn & Steve Right – For programmers, it’s a cultural perspective. He’d feel almost.
+ Hybrid Roles in Your School If not now, then when?
Triple C Competency-based Curriculum: Implications for Family Medicine Residency Programs.
An Examination of Learning Processes During Critical Incident Training: Implications for the Development of Adaptable Trainees Andrew Neal, Stuart T. Godley,
Richards Middle School Columbus, Georgia
Human Learning Aeman Alabuod. Learning Theory it is conceptual frameworks that describe how information is absorbed, processed, and retained during learning.
‘Positively defined learning outcomes’ Harriet Barnes Standards, Quality and Enhancement 19 June 2015.
CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System.
Appendix 2 Automated Tools for Systems Development © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 1.
Introduction to SDLC: System Development Life Cycle Dr. Dania Bilal IS 582 Spring 2009.
OneView Benefits Sales collaboration across network A “one-stop” utility portal Ease of use, scalability & accessibility Useful reports and metrics Improved.
Examining the challenges of engaging volunteer coaches with professional development Dr Mark Griffiths.
Chapter 13: Developing and Implementing Effective Accounting Information Systems
An Examination of Contextual Factors and Individual Characteristics Affecting Technology Implementation Decisions in Auditing Mary B. Curtis, Univ of N.
CPS ® and CAP ® Examination Review MANAGEMENT, Fifth Edition By Haney and Mazzola ©2005 Pearson Education, Inc. Pearson Prentice Hall Upper Saddle River,
For too many years, teachers have prepared lesson plans according to their own preferred way of learning whilst ignoring the fact that all children process.
Comprehensive Educator Effectiveness: New Guidance and Models Presentation for the Special Education Advisory Committee Virginia Department of Education.
Comprehensive Educator Effectiveness: New Guidance and Models Presentation for the Virginia Association of School Superintendents Annual Conference Patty.
Human Learning Asma Marghalani.
Students’ and Faculty’s Perceptions of Assessment at Qassim College of Medicine Abdullah Alghasham - M. Nour-El-Din – Issam Barrimah Acknowledgment: This.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
What grounded theory is not
Crysten Caviness Curriculum Management Specialist Birdville ISD.
Chapter 15 GIS Design and Implementation Management Information Systems –Systems Analysis –Systems Design –Systems Implementation.
Does training on self-regulated learning facilitate students' learning with hypermedia Presenter: Jenny Tseng Professor: Ming-Puu Chen Date: March 15,
Introduction The design, development and maintenance of concurrent software are difficult tasks. Truly effective support methodologies have yet to be developed.
Technology Workshop 2 June 22, Extent of Technology Integration in Instruction by ABE Teachers.
Qualifications Update: Higher Media Qualifications Update: Higher Media.
Continual Service Improvement Methods & Techniques.
The Effects of Sleep on Memory Performance Shannon Hasler & Tracey Young.
Regulative support for collaborative scientific inquiry learning Presenter: Hou, Ming-Hsien Professor: Ming-Puu Chen Date: August 19, 2008 Manlove, S.,
MANAGEMENT INFORMATION SYSTEM
Program Comprehension Program Understanding Behavior During Debugging Of Large Scale Software Anneliese von Mayrhauser (Andrews) and A. Marie Vans Rizal.
Integration of generic competencies and content in the Skills for a Changing World Curriculum Key Issues to Consider.
Significance of Findings and Discussion
Appendix 2 Automated Tools for Systems Development
Application Outsourcing: Achieving Success & Avoiding Risk
Information Systems Development
Lecture 3 Prescriptive Process Models
Fundamentals of Information Systems, Sixth Edition
Exploring the Role of Cultural and Policy Context in Distributed Leadership Practices in the US and Denmark The Comprehensive Assessment of Leadership.
The Systems Engineering Context
Classical Waterfall Model
9/16/2018 The ACT Government’s commitment to Performance and Accountability – the role of Evaluation Presentation to the Canberra Evaluation Forum Thursday,
Program comprehension during Software maintenance and evolution Armeliese von Mayrhauser , A. Marie Vans Colorado State University Summary By- Fardina.
Roadmap to an Organizational Culture of QI
Developing and Benchmarking the Standards Frameworks
LEARNER-CENTERED PSYCHOLOGICAL PRINCIPLES. The American Psychological Association put together the Leaner-Centered Psychological Principles. These psychological.
Presentation transcript:

Application Domain Knowledge and Programmers’ Mental Representations Teresa M. Shaft University of Oklahoma Iris Vessey Indiana University

Application Domain Knowledge  Application Domain refers to the context of the problem to be addressed by the computer software – in contrast to the solution or computing domain (Blum 1989)

adapted from Blum, 1989 Implementation Domain Application Domain Conceptual Models Formal Models The Software Development Process

Importance of Application Domain Knowledge in Software Development  Those who can map deep application domain knowledge into a computation solution often serve as project gurus  “the thin spread of application domain knowledge” was one of the most salient problems in large scale development Curtis, Krasner & Iscoe 1988  Significant effort during software development is associated with acquiring needed application domain knowledge Walz, Elam & Curtis 1993

Application Domain Knowledge  Acknowledged as critical to the ability to develop, comprehend, and maintain software (Brooks, 1990, Pennington & Grabowski 1990, Vans, von Mayrhauser & Somlo 1999)  Infrequently studied (Glass & Vessey 1998).  Most studies of software comprehension or maintenance either do not consider the application domain or use materials the researchers argue do not require application domain knowledge.

Application Domain Knowledge in Software Comprehension  Programmers use a more top-down (hypothesis driven) comprehension process when they have relevant application domain knowledge (Shaft & Vessey 1995)  During software comprehension, programmers use application domain knowledge in addition to (rather than to replace) programming knowledge (Shaft & Vessey 1998)

Current Study  Examines the influence of application domain knowledge on programmers’ mental representations during the software comprehension and enhancement process  Examines the influence of different types of enhancement tasks on the development of programmers’ mental representations

Comprehension Process Program Code and Documentation Mental Representation of Computer Program Enhancement Specification Enhancement Process Mental Representation of Enhanced Program Enhanced Computer Program Application Domain Knowledge Programming Domain Knowledge Programmer’s Knowledge Base Program/Programmer Specific Knowledge Base Program/Programmer Specific Knowledge Base Conceptual Model of the Software Comprehension and Enhancement

Programmers’ Mental Representations  Internal knowledge structure of the contents of the computer program  Numerous types of information are embedded in a computer program (Brooks 1987, Pennington 1987, Green 1977, Corritore & Wiedenbeck 1999)  Comprehension is the process of extracting that information from the computer program  Programmers’ mental representations reflect their comprehension of the different types of information embedded in the programs

Knowledge Categories  Function  Data flow  Control flow  State Pennington 1987a, 1987b  These categories are relevant to procedural programs

Initial Comprehension of a Computer Program  Driven by the knowledge programmers’ bring to the comprehension task

Hypothesis 1: Initial Comprehension  H1a: Programmers have higher levels of initial comprehension when they are familiar with the application domain of the program than when they are unfamiliar with the application domain.  H1b: When programmers are familiar with the application domain, they have better comprehension of function and data flow information than of control flow and state information.

Comprehension After Conducting an Enhancement  Influenced by the nature of the enhancement task as well as the knowledge programmers’ possess  Different types of enhancement tasks rarely considered  Consider two types of enhancement tasks: Function – high need for application domain knowledge Control flow – low need for application domain knowledge

Hypotheses 2: Comprehension After Conducting An Enhancement  H2a: Comprehension after conducting an enhancement will be greater when programmers are familiar with the application domain (than when they are unfamiliar with the application domain).  H2b: Programmers have greater comprehension of the type of knowledge emphasized in the enhancement task than the other types of knowledge. Control flow task -> control flow knowledge Function task -> function knowledge

Changes in Programmers’ Comprehension  Influenced by programmers’ knowledge  Influenced by the nature of the enhancement task

Hypotheses 3: Changes in Comprehension  H3a: Programmers experience greater changes in comprehension when they are familiar with the application domain (than when they are unfamiliar)  H3b: Programmers who conduct a control flow task have greater increases in comprehension than those who conduct a function task

Methodology  24 professionals studied and enhanced two computer programs Minimum of 2 years professional experience  Computer programs from two application domains Familiar application domain: accounting Unfamiliar application domain: hydrology COBOL programs Equivalent size, data density, decision density

Methodology (continued)  Assessed programmers’ comprehension at two points: After an initial study period After conducting an enhancement task  Comprehension assessed via questions Two questionnaires per program 20 questions per questionnaire 5 questions for each knowledge category

Methodology (continued)  Half of the programmers conducted control flow enhancements on both programs; half conducted function enhancements  Control flow tasks: insert a new level of control break in an existing control break report  Function tasks: create a new capability  Enhanced programs of equivalent size, data density & decision density

Analysis of Hypothesis 1 Source DF SS Mean Square F Value Pr > F Application Domain (AD) Error Knowledge Category (KC) Error AD * KC Error

Hypothesis 1 – Initial Comprehension  H1a: supported programmers’ have higher levels of comprehension in the familiar application domain  H1b: not supported No interaction between knowledge category and application domain familiarity  Programmers’ comprehension of state knowledge was significantly greater than data flow, regardless of knowledge of the application domain

Analysis of Hypothesis 2 Source DF SS Mean Square F Value Pr > F Type of Enhancement Task (TET) Error Application Domain (AD) <.001 AD * TET Error Knowledge Category (KC) <.001 KC * TET Error AD * KC AD * KC * TET Error

Hypothesis 2 – Comprehension After Conducting the Enhancement  H2a: supported Comprehension in the familiar application domain is greater than in the unfamiliar application domain  H2b: not supported Type of enhancement task did not influence which knowledge categories are better comprehended  Application domain knowledge influenced comprehension of the different knowledge categories: Data flow, control flow and state knowledge more accurately understood in the familiar application domain Within familiar application domain: state knowledge more accurately understood than other categories Within unfamiliar application domain: state and function more accurately understood than data flow knowledge

Analysis of Hypothesis 3 Source DF SS Mean Square F Value Pr > F Type of Enhancement Task (TET) Phase <.001 TET * Phase Error Application Domain (AD) <.001 AD * TET Error Knowledge Category (KC) <.001 KC * Task Error Phase * AD Phase*AD*TET Error Phase*KC Phase*KC*TET Error ADK * KC ADK* KC* TET Error Phase*ADK*KC Phase*ADK*KC*TET Error

Hypothesis 3 – Changes in Comprehension  H3a: not supported, application domain knowledge did not allow programmers to gain more knowledge  H3b: supported, those who conducted a control flow enhancement showed greater gains in comprehension  Application domain influenced the types of knowledge programmers understood: Higher levels of comprehension of all knowledge categories in the familiar application domain Within familiar application domain: state knowledge more accurately understood than function and data flow Within unfamiliar application domain: function, control flow and state knowledge more accurately understood than data flow

Summary of Results Research Question 1: Initial Comprehension 2: Comprehension After Conducting the Enhancement3: Changes in Comprehension Application Domain Familiarity Familiar > unfamiliar Familiar > unfamiliar.Application domain knowledge did not result in greater gains in comprehension. Type of Knowledge State > data flow Across Application Domains: Data flow, control flow & state knowledge better understood in the familiar than unfamiliar application domain. Within Familiar Application Domain: state > function, data flow & control flow. Within Unfamiliar Application Domain: function & state > data flow. Across Applications Domains: all knowledge categories better understood in the familiar application domain. Within Familiar Application Domain: state > function & data flow. Within Unfamiliar Application Domain: function, control flow & state > data flow. Type of Enhancement Task Not applicableType of enhancement task did not influence programmers’ comprehension or their understanding of different types of knowledge Conducting a control flow enhancement increased overall comprehension.

Discussion  When programmers possess application domain knowledge they have higher levels of comprehension initially and after enhancing a program Consistent for two types of enhancements  Even in the context of program maintenance, a software development task that is seen as relatively far from the original domain, relevant application domain knowledge benefits software comprehension

Discussion  Conducting a control flow enhancement task led to gains in comprehension Not all types of tasks will give programmers’ the same opportunity to develop their mental representation of a computer program A more complete taxonomy of tasks would be helpful to future researchers

Implications – Types of Enhancement Tasks  Long-term vs. short-term employees Programmers’ mental representations develop if they engage in tasks that require changes to multiple locations of the program Programmers who conduct enhancements which do not require interacting with much of the original program, did not experience significant increases in comprehension

Implications – Application Domain Knowledge  Lengthy start-up time for new IT employees  Training and selection  Outsourcing and off-shoring Activities that require less application domain knowledge would seem to be better choices Develop mechanisms to provide application domain knowledge

Conclusions  Not all enhancement tasks encourage development of programmers’ mental representation of a computer program.  Traditionally, software comprehension and enhancement were seen as residing in the programming domain and requiring little, if any, application domain knowledge.  Application domain knowledge is beneficial to software comprehension, and to the understanding of all knowledge categories.