Introduction The design, development and maintenance of concurrent software are difficult tasks. Truly effective support methodologies have yet to be developed.

Slides:



Advertisements
Similar presentations
Software Tools Lecture 10: Software Tools Dr Valentina Plekhanova University of Sunderland, UK.
Advertisements

THE INTELLIGENCE SYSTEM OF SOFTWARE COMPLEXITY AND QUALITY EVALUATION AND PREDICTION Oksana Pomorova, Tetyana Hovorushchenko Khmelnitsky National University.
Program Comprehension1 Program Comprehension During Software Maintenance and Evolution IEEE Computer, August 1995 Von Mayrhauser, A. and Vans, A. M.
© 2005 by Prentice Hall Appendix 2 Automated Tools for Systems Development Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F.
DECO3008 Design Computing Preparatory Honours Research KCDCC Mike Rosenman Rm 279
Process- Related Requirement Management By Viswaketan Reddy.
Ch 4 The Process page 1CS 368 Building Software is Difficult often delivered late often over budget always with errors must be a custom solution complexity.
Eileen Kraemer Professor and Head, Computer Science The University of Georgia.
ICER 2005 Factors Affecting the Success of Non-Majors in Learning to Program Susan Wiedenbeck Drexel University.
IEEM Human-Computer Systems Dr. Vincent Duffy - IEEM Week 9 - Approaches to Human- Computer Interaction Mar. 30, 1999
Learners’ Internal Management of Cognitive Processing in Online Learning Chun-Ying Chen Department of Electronic Commerce Transworld Institute of Technology,
The Computer Science Course at Omar Al-Mukhtar University, Libya The Computer Science Course at Omar Al-Mukhtar University, Libya User-Centered Design.
OOSE 01/17 Institute of Computer Science and Information Engineering, National Cheng Kung University Member:Q 薛弘志 P 蔡文豪 F 周詩御.
1. Human – the end-user of a program – the others in the organization Computer – the machine the program runs on – often split between clients & servers.
1 The Dynamics of Creativity in Software Development Daniel Graziotin PROFES 2013 Doctoral Symposium 12 th June, Paphos, Cyprus.
Appendix 2 Automated Tools for Systems Development © 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 2 Slide 1.
Research in Computing Discipline Prabhas Chongstitvatana.
Predictive Evaluation
Introduction to SDLC: System Development Life Cycle Dr. Dania Bilal IS 582 Spring 2009.
Design Process for Web Applications Authors :Lorna Uden Source : IEEE MultiMedia, vol. 9, no. 4, 2002, pp Speaker :Li-Ya Liao Adviser : Ku-Yaw Chang.
Measuring the Effort for Creating and Using Domain-Specific Models Yali Wu PhD Candidate 18 October 2010.
The Research on Credibility of Knowledge Management System Wang FanLin Department of Accounting Capital University of Economic Business Beijing, China.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 An Introduction to Software Engineering.
A Taxonomy of Evaluation Approaches in Software Engineering A. Chatzigeorgiou, T. Chaikalis, G. Paschalidou, N. Vesyropoulos, C. K. Georgiadis, E. Stiakakis.
Evaluation of software engineering. Software engineering research : Research in SE aims to achieve two main goals: 1) To increase the knowledge about.
Gretchen Ortiz M.S. HCI – Georgia Tech UX Researcher Entry/Mid Level Portfolio 2012 All of the images presented are related to projects done while pursuing.
REUSE-Re-Engineering The Software Process By Venkat Praveen Medikonda.
Multimedia Specification Design and Production 2013 / Semester 1 / week 9 Lecturer: Dr. Nikos Gazepidis
TESTING PRINCIPLES BY K.KARTHIKEYAN. PRINCIPLES Principle 1. Testing is the process of exercising a software component using a selected set of test cases,
Lecture on Computer Science as a Discipline. 2 Computer “Science” some people argue that computer science is not a science in the same sense that biology.
Software Innovation Course - Presentation 3/
Methodology and Explanation XX50125 Lecture 3: Usability testing Dr. Danaë Stanton Fraser.
Measuring What Matters: Technology & the Assessment of all Students Jim Pellegrino.
Qualitative Research Planning the Research pp MA1C0104 Jerry 吳思淨.
Assessing the Frequency of Empirical Evaluation in Software Modeling Research Workshop on Experiences and Empirical Studies in Software Modelling (EESSMod)
A Meta-Study of Algorithm Visualization Effectiveness Christopher Hundhausen, Sarah Douglas, John Stasko Presented by David Burlinson 8/10/2015.
Knowledge Representation of Statistic Domain For CBR Application Supervisor : Dr. Aslina Saad Dr. Mashitoh Hashim PM Dr. Nor Hasbiah Ubaidullah.
1 Asking and Answering Questions during a Programming Change Task, By Jonathan Sillito, Member, IEEE, Gail C. Murphy, Member, IEEE, and Kris De Volder.
A Goal Based Methodology for Developing Domain-Specific Ontological Frameworks Faezeh Ensan, Weichang Du Faculty of Computer Science, University of New.
A Machine Learning Approach to Programming. Agenda Overview of current methodologies. Disadvantages of current methodologies. MLAP: What, Why, How? MLAP:
Research, Research, Research Understanding the Basics Jim Yonazi, Ph. D The Center for ICT Research and Innovations – C i RI
Research Design and Evaluation Colin Ware. Goals for empirical research Uncover fundamental truths and test theories (late stage science). Discover the.
Theme 2: Data & Models One of the central processes of science is the interplay between models and data Data informs model generation and selection Models.
Software Development in HPC environments: A SE perspective Rakan Alseghayer.
What is Research? research is an unusually stubborn and persisting effort to think straight which involves the gathering and the intelligent use of relevant.
Introduction to Operations Research. MATH Mathematical Modeling 2 Introduction to Operations Research Operations research/management science –Winston:
Chapter 23 Deciding how to collect data. UIDE Chapter 23 Introduction: Preparing to Collect Evaluation Data Timing and Logging Actions –Automatic Logging.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
1 Reference Model for Evaluating Intelligent Tutoring Systems Esma Aimeur, Claude Frasson Laboratoire HERON Informatique et recherche opérationnelle Université.
Application Domain Knowledge and Programmers’ Mental Representations Teresa M. Shaft University of Oklahoma Iris Vessey Indiana University.
© 2006 by The McGraw-Hill Companies, Inc. All rights reserved. 1 Chapter 1 Introduction to Research in Communication Research: –Process of asking questions.
Software Design and Development Development Methodoligies Computing Science.
Technology Acceptance Model (TAM) Evaluation for Academic Information System (case study : Ma Chung University) Soetam Rizky Wicaksono, Audrey Amelia Ma.
Human Performance Enhancement System Park Young Ho Dept. of Nuclear & Quantum Engineering Korea Advanced Institute of Science and Technology December 23.
Program Comprehension Program Understanding Behavior During Debugging Of Large Scale Software Anneliese von Mayrhauser (Andrews) and A. Marie Vans Rizal.
Appendix 2 Automated Tools for Systems Development
Program comprehension during Software maintenance and evolution Armeliese von Mayrhauser , A. Marie Vans Colorado State University Summary By- Fardina.
Introduction to Software Engineering
TECHNOLOGY OF EDUCATION AND TECHNOLOGY IN EDUCATION
Chapter 1: Introduction to Scientific Thinking
CS 522: Human-Computer Interaction Usability and HCI Topics
Usability Techniques Lecture 13.
CS 594: Empirical Methods in HCC Grounded Theory Method
Fundamentals of Human Computer Interaction (HCI)
User Interface Design and Evaluation
Using Verbal Reports for Data Collection and Analysis
Semantic Approach for Evaluating Product Design Using Image Schemas
The basics of Social Science Research Lecture 3
By Hyunsook Do, Sebastian Elbaum, Gregg Rothermel
Paul Scerri and Nancy Reed
Presentation transcript:

Introduction The design, development and maintenance of concurrent software are difficult tasks. Truly effective support methodologies have yet to be developed. One plausible reason for the lack of such methodologies is the dearth of knowledge about human cognitive processes in this domain. We propose to develop such cognitive models, with the goal of informing the development of accessible and effective methodologies to support users in these tasks. Background /Related Work Researchers[1-7] have explored the mental models of and strategies adopted by expert programmers. However, no task-specific cognitive process has yet been built in this domain. One the other hand, numerous methods and tools have been proposed to assist with the tasks associated with the engineering concurrent programs. However, none of these methods or tools have been shown to improve the associated human cognitive process, nor have they received wide acceptance. Approach We propose to systematically construct cognitive process models of specific engineering tasks both with and without use of a supplementary tool. In this way, we can model human cognition and performance in this domain, and study the effects of tool usage on the cognitive process. Based on the data we collect from the initial study, we will propose a cognitive model. Subsequent studies will refine and parameterize that model, which should reveal the hard cognitive operations inherent in the study task. During the final stage, we will apply the model to a related task and propose supporting tools for reducing the difficulty of such tasks. Contributions We will develop and apply a cognitive process model of the software engineering of concurrent systems. References 1. D.C. Littman, J. Pinto, S. Letovsky, and E. Soloway, “Mental models and software maintenance”, In Empirical Studies of Programmers, pp , S. Letovsky, “Cognitive processes in program comprehension”, In Empirical Studies of Programmers, pp.58-79, A. von Mayrhauser and A.M. Vans, “From code understanding needs to reverse engineering tool capabilities”, In Proceedings of CASE’93, pp , I. Vessey, “Expertise in debugging computer programs: A process analysis”, International Journal of Man-Machine Studies, pp , vol23, E. Soloway and K. Ehrlich, “Empirical studies of programming knowledge”, IEEE Transactions on Software Engineering, pp , SE-10(5), September Ruven Brooks, “Towards a theory of the comprehension of computer programs”, International Journal of Man-Machine Studies, pp , vol. 18, N. Pennington, “Stimulus structures and mental representations in expert comprehension of computer programs”, Cognitive Psychology, pp , vol19, 1987 Acknowledgments Dr. Eileen Kraemer The Concurrency Group: Zhe Zhao (George) & Yiping Wang Model A represents the user’s cognitive model in the absence of the tool; Model B represents the user’s cognitive model in the presence of the tool. Here, we compare the two cognitive models and evaluate the usability of the tool based on the differences observed. Model A again represents the user’s cognitive model in the absence of the tool and Model B a cognitive model in the presence of the tool. Here, we analyze Model A and propose an improved Model B, which informs the specification of a tool that aids users in achieving this improved cognitive model. Discussion We will conduct an initial think-aloud study to explore how users’ cognitive procedures are affected by the usage of supporting tools in concurrent software engineering tasks. The initial study will inform our choice of modeling methodology, which ranges from qualitative, attribute-based models through more rigorous, quantitative models such as ACT-R. Toward a cognitive process model of software engineering for concurrent systems Zhen Li Computer Science Department The University of Georgia