Does a Programmer s Activity Indicate Knowledge of Code? Software Engineering Seminar 2010

Size: px
Start display at page:

Download "Does a Programmer s Activity Indicate Knowledge of Code? Software Engineering Seminar 2010"

Transcription

1 Does a Programmer s Activity Indicate Knowledge of Code? Software Engineering Seminar 2010 Who? From? Jan Rüegg 2007 Paper By Thomas Fritz, University of British Columbia Gail C. Murphy, University of British Columbia Emily Hill, University of Delaware When? 16th March

2 Imagine You See Something Like This... What?!? if (fabs (text->letter_spacing) > 0.1) { PangoAttrList *attrs; PangoAttribute *attr; attrs = pango_layout_get_attributes( layout->layout); if (attrs) pango_attr_list_ref (attrs); else attrs = pango_attr_list_new (); attr = pango_attr_letter_spacing_new ( text->letter_spacing * PANGO_SCALE); attr->start_index = 0; attr->end_index = -1;... 2

3 To The Rescue, Git Blame!... really? (Martin Nordholts) if (fabs (text->letter_spacing) > 0.1) (Martin Nordholts) { (Michael Natterer) PangoAttrList *attrs; (Martin Nordholts) PangoAttribute *attr; (Martin Nordholts) (Michael Natterer) attrs = pango_layout_get_attributes( (Michael Natterer) layout->layout); (Michael Natterer) if (attrs) (Michael Natterer) pango_attr_list_ref (attrs); (Michael Natterer) else (Michael Natterer) attrs = pango_attr_list_new (); (Michael Natterer) (Martin Nordholts) attr = pango_attr_letter_spacing_new ( (Martin Nordholts) text->letter_spacing * PANGO_SCALE); (Martin Nordholts) (Martin Nordholts) attr->start_index = 0; (Martin Nordholts) attr->end_index = -1; (Martin Nordholts)... 3

4 The Basic Question How can we measure a Programmers Knowledge about source Code? Hypothesis The more Frequently and Recently a programmer has interacted with an element X, the higher is his Knowledge about X. 4

5 The Basic Question How can we measure a Programmers Knowledge about source Code? Hypothesis The more Frequently and Recently a programmer has interacted with an element X, the higher is his Knowledge about X. 4

6 Outline Example, Hypothesis Introduction Study Results Motivation DOI: Degree-Of-Interest Subjects Questionnaires Significance of DOI Problems Improvements 5

7 Outline Example, Hypothesis Introduction Study Results Motivation DOI: Degree-Of-Interest Subjects Questionnaires Significance of DOI Problems Improvements 5

8 Outline Example, Hypothesis Introduction Study Results Motivation DOI: Degree-Of-Interest Subjects Questionnaires Significance of DOI Problems Improvements 5

9 Motivation Who knows What? Important for Expertise Recommendations IDE with Adaptive Interface Recommending group members Mylyn Degree-Of-Interest Model Introduced 2005 by Mik Kersten and Gail C. Murphy Interest level in program elements Original goal: An Adaptive Eclipse Interface 6

10 Motivation Who knows What? Important for Expertise Recommendations IDE with Adaptive Interface Recommending group members Mylyn Degree-Of-Interest Model Introduced 2005 by Mik Kersten and Gail C. Murphy Interest level in program elements Original goal: An Adaptive Eclipse Interface 6

11 Mylyn DOI Model How Mylyn improves Eclipse... How does it work? Each Java element has its DOI value that Increases with each select/edit/... different operations are differently weighted Decreases over time, when not accessed Idea Elements with higher DOI: Higher up in Eclipse lists... Effect Programmer spends less time searching for important items 7

12 Mylyn DOI Model How Mylyn improves Eclipse... How does it work? Each Java element has its DOI value that Increases with each select/edit/... different operations are differently weighted Decreases over time, when not accessed Idea Elements with higher DOI: Higher up in Eclipse lists... Effect Programmer spends less time searching for important items 7

13 Empirical Study Subjects 19 Industry Java Programmers Two IBM development laboratory locations Experience between one month to twenty years Interactive Monitoring for five weeks Eclipse Mylyn project Modified to the needs of the study Show about one questionnaire per week Evaluation Analysis of the collected data Interviews with programmers about the results 8

14 Empirical Study Subjects 19 Industry Java Programmers Two IBM development laboratory locations Experience between one month to twenty years Interactive Monitoring for five weeks Eclipse Mylyn project Modified to the needs of the study Show about one questionnaire per week Evaluation Analysis of the collected data Interviews with programmers about the results 8

15 Empirical Study Subjects 19 Industry Java Programmers Two IBM development laboratory locations Experience between one month to twenty years Interactive Monitoring for five weeks Eclipse Mylyn project Modified to the needs of the study Show about one questionnaire per week Evaluation Analysis of the collected data Interviews with programmers about the results 8

16 Questionnaires Individual Questionnaires are generated After 20000, and interactions Random questions from each of 20% highest DOI 20% lowest DOI 20% in the middle Automatically generated and verified Typical Flow of Events 1. Programmer works as usual with IDE 2. IDE monitors elements for about about a week 3. A questionnaire pops up, asking about high and low DOI elements 4. Programmer answers 9

17 Questionnaires Individual Questionnaires are generated After 20000, and interactions Random questions from each of 20% highest DOI 20% lowest DOI 20% in the middle Automatically generated and verified Typical Flow of Events 1. Programmer works as usual with IDE 2. IDE monitors elements for about about a week 3. A questionnaire pops up, asking about high and low DOI elements 4. Programmer answers 9

18 Typical Questions What the Subjects were asked... 1 public class Calculator 2 { 3 public Stack<StackItem> stack; 4 5 public Calculator(double operand) 6 { 7 stack = new Stack<StackItem>(); 8 stack.push(new StackNumber(operand)); 9 } public double popoperand() 12 { 13 double result = peekoperand(); 14 stack.pop(); 15 return result; 16 }

19 Typical Questions What the Subjects were asked... Q1) Do you know the types of the parameters that are passed to the invocation of constructor Calculator? Q2) Can you recall one method/constructor that calls method Calculator.popOperand()? 11

20 Typical Questions What the Subjects were asked... 1 public class Calculator 2 { 3 public Stack<StackItem> stack; 4 5 public Calculator(double operand) 6 { 7 stack = new Stack<StackItem>(); 8 stack.push(new StackNumber(operand)); 9 } public double popoperand() 12 { 13 double result = peekoperand(); 14 stack.pop(); 15 return result; 16 }

21 GUI How the Subjects answered... 13

22 GUI How the Subjects answered... 13

23 GUI How the Subjects answered... 13

24 Results Significance of DOI 14

25 Results Significance of Recency and Frequency 15

26 Results Significance of Recency and Frequency 16

27 Results Significance of Recency and Frequency 17

28 Problems Threads to Validity Number of Subjects Technical Problems with IDE Only Java/Eclipse watched "Nature" of Questions Only IDE monitored 18

29 Improvements What should be Added to the DOI Authorship Leads to more knowledge about authored program elements Code Stability Fewer code changes lead to longer knowledge about program elements Activity Short-term kinds of activity, like debugging, have a skewing effect 19

30 Summary DOI is a good Indicator for structural code Knowledge Improvements are still possible Authorship, Activity,... Outlook Results can be used to create better Expertise Recommendation tools Should be repeated with more Programmers, Languages 20

31 Summary DOI is a good Indicator for structural code Knowledge Improvements are still possible Authorship, Activity,... Outlook Results can be used to create better Expertise Recommendation tools Should be repeated with more Programmers, Languages 20

32 Typical Questions What the Subjects were asked... Q1) Can you recall the name of one class or interface that is directly extended, implemented by TYPE, or can you recall the name of one class that directly extends the type TYPE? Q2) Do you know the types of the parameters that are passed to the invocation of method/constructor METHOD? Q3) Do you know two methods that are called by method/constructor METHOD? Q4) Can you recall one method/constructor that calls method/constructor METHOD? 21

33 Improvements What should be Added to the DOI Authorship More knowledge about authored program elements. Authorship Duration More time spent creating an element more knowledge about the element. Code Stability Fewer code changes longer knowledge about it Code Patterns More code patterns easier to infer knowledge Role Important element more knowledge Task Locality More interaction with other programmers code less DOI-to-knowledge correspondence. Activity Short-term kinds of activity, like debugging, have skewing effect. Work Experience More experience of programmer better DOI-to-knowledge correspondence. 22

34 Mylyn What it looks like

Attacking information overload in software development

Attacking information overload in software development Attacking information overload in software development Gail Murphy University of British Columbia Tasktop Technologies This talk contains copyright pictures obtained under license. The license associated

More information

Improving the productivity of software developers

Improving the productivity of software developers Improving the productivity of software developers Lecture 1 - What recommenders can be built? Gail C. Murphy University of British Columbia Tasktop Technologies @gail_murphy 1 Laser Summer School 2014

More information

Home Office 2.0 - Collaborative Working Related Work. Sommersemester 2010 HAW-Hamburg Karsten Panier

Home Office 2.0 - Collaborative Working Related Work. Sommersemester 2010 HAW-Hamburg Karsten Panier Home Office 2.0 - Collaborative Working Related Work Sommersemester 2010 HAW-Hamburg Karsten Panier Summary Vision Home Office 2.0 Topics Related Work Context Task Context Socio-Technical Congruence Conclusion

More information

Data Structures and Algorithms V22.0102. Otávio Braga

Data Structures and Algorithms V22.0102. Otávio Braga Data Structures and Algorithms V22.0102 Otávio Braga We use a stack When an operand is read, output it When an operator is read Pop until the top of the stack has an element of lower precedence Then push

More information

A methodology for measuring software development productivity using Eclipse IDE

A methodology for measuring software development productivity using Eclipse IDE Proceedings of the 9 th International Conference on Applied Informatics Eger, Hungary, January 29 February 1, 2014. Vol. 2. pp. 255 262 doi: 10.14794/ICAI.9.2014.2.255 A methodology for measuring software

More information

Test-Driven Development

Test-Driven Development Test-Driven Development An Introduction Mattias Ståhlberg mattias.stahlberg@enea.com Debugging sucks. Testing rocks. Contents 1. What is unit testing? 2. What is test-driven development? 3. Example 4.

More information

Spontaneous Code Recommendation based on Open Source Code Repository

Spontaneous Code Recommendation based on Open Source Code Repository Spontaneous Code Recommendation based on Open Source Code Repository Hidehiko Masuhara masuhara@acm.org Tokyo Tech joint work with Takuya Watanabe, Naoya Murakami, Tomoyuki Aotani Do you program with Google?

More information

Open Source Performance Testing Tools

Open Source Performance Testing Tools Open Source Performance Testing Tools Alan Gordon January 2010 SQS Group Limited Agenda Open Source Tools The Big Questions What tools are out there? When should we use them? What can we expect to achieve

More information

Investigating the Impact of Experience and Solo/Pair Programming on Coding Efficiency: Results and Experiences from Coding Contests

Investigating the Impact of Experience and Solo/Pair Programming on Coding Efficiency: Results and Experiences from Coding Contests Investigating the Impact of Experience and Solo/Pair Programming on Coding Efficiency: Results and Experiences from Coding Contests Dietmar Winkler 1 Martin Kitzler 2 Christoph Steindl 2 Stefan Biffl 1

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2009 Vol. 8, No. 2, March- April 2009 Creating Servlets with Intellij V8 By Douglas

More information

9/11/15. What is Programming? CSCI 209: Software Development. Discussion: What Is Good Software? Characteristics of Good Software?

9/11/15. What is Programming? CSCI 209: Software Development. Discussion: What Is Good Software? Characteristics of Good Software? What is Programming? CSCI 209: Software Development Sara Sprenkle sprenkles@wlu.edu "If you don't think carefully, you might think that programming is just typing statements in a programming language."

More information

UI Performance Monitoring

UI Performance Monitoring UI Performance Monitoring SWT API to Monitor UI Delays Terry Parker, Google Contents 1. 2. 3. 4. 5. 6. 7. Definition Motivation The new API Monitoring UI Delays Diagnosing UI Delays Problems Found! Next

More information

NXTware Remote. Advanced Development and Maintenance Environment for OpenVMS and other Strategic Platforms

NXTware Remote. Advanced Development and Maintenance Environment for OpenVMS and other Strategic Platforms NXTware Remote Advanced Development and Maintenance Environment for OpenVMS and other Strategic Platforms Gerrit Woertman CTO OpenVMS Business Generating Software gerrit@bgsoftware.nl +31 6 51341600 Introduction

More information

CEON ABAP Eclipse Editor White Paper

CEON ABAP Eclipse Editor White Paper CEON ABAP Eclipse Editor White Paper CEON Business Systems and Marketing Pty Ltd. Page 1 1. Introduction ABAP Eclipse Editor is an external ABAP editor for SAP. It is an easy to use development tool, which

More information

Databases and Information Systems II

Databases and Information Systems II Databases and Information Systems II Performance evaluation Profiling Performance evaluation New compression approach must be competible in terms of Compression ratio Compression time Decompression time

More information

Analyzing data. Thomas LaToza. 05-899D: Human Aspects of Software Development (HASD) Spring, 2011. (C) Copyright Thomas D. LaToza

Analyzing data. Thomas LaToza. 05-899D: Human Aspects of Software Development (HASD) Spring, 2011. (C) Copyright Thomas D. LaToza Analyzing data Thomas LaToza 05-899D: Human Aspects of Software Development (HASD) Spring, 2011 (C) Copyright Thomas D. LaToza Today s lecture Last time Why would you do a study? Which type of study should

More information

How Much Integrated Development Environments (IDEs) Improve Productivity?

How Much Integrated Development Environments (IDEs) Improve Productivity? JOURNAL OF SOFTWARE, VOL. 8, NO. 10, OCTOBER 2013 2425 How Much Integrated Development Environments (IDEs) Improve Productivity? Iyad Zayour, PhD Computer Science Lebanese University, Lebanon izayour@ul.edu.lb

More information

The power of root on Android emulators

The power of root on Android emulators The power of root on Android emulators Command line tooling for Android Development Gabe Martin LinuxFest Northwest 2013 10:00 AM to 10:50 AM, CC 239 Welcome Describe alternative title Questions can be

More information

KITES TECHNOLOGY COURSE MODULE (C, C++, DS)

KITES TECHNOLOGY COURSE MODULE (C, C++, DS) KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php info@kitestechnology.com technologykites@gmail.com Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL

More information

Monitoring, Tracing, Debugging (Under Construction)

Monitoring, Tracing, Debugging (Under Construction) Monitoring, Tracing, Debugging (Under Construction) I was already tempted to drop this topic from my lecture on operating systems when I found Stephan Siemen's article "Top Speed" in Linux World 10/2003.

More information

Mylar: a degree-of-interest model for IDEs

Mylar: a degree-of-interest model for IDEs Mylar: a degree-of-interest model for IDEs Mik Kersten and Gail C. Murphy Department of Computer Science University of British Columbia 201-2366 Main Mall Vancouver, BC, V6T 1Z4, Canada {beatmik, murphy}@cs.ubc.ca

More information

Software Development Environment. Installation Guide

Software Development Environment. Installation Guide Software Development Environment Installation Guide Software Installation Guide This step-by-step guide is meant to help teachers and students set up the necessary software development environment. By

More information

E10: Controlled Experiments

E10: Controlled Experiments E10: Controlled Experiments Quantitative, empirical method Used to identify the cause of a situation or set of events X is responsible for Y Directly manipulate and control variables Correlation does not

More information

Java SE 7 Programming

Java SE 7 Programming Java SE 7 Programming The second of two courses that cover the Java Standard Edition 7 (Java SE 7) Platform, this course covers the core Application Programming Interfaces (API) you will use to design

More information

Release 1. ICAPRG604A Create cloud computing services

Release 1. ICAPRG604A Create cloud computing services Release 1 ICAPRG604A Create cloud computing services ICAPRG604A Create cloud computing services Modification History Release Release 1 Comments This version first released with ICA11 Information and Communications

More information

Tracing Software Developers Eyes and Interactions for Change Tasks

Tracing Software Developers Eyes and Interactions for Change Tasks Tracing Software Developers Eyes and Interactions for Change Tasks Katja Kevic, Braden M. Walters *, Timothy R. Shaffer *, Bonita Sharif *, David C. Shepherd, Thomas Fritz University of Zurich, Switzerland

More information

DESCRIPTIVE RESEARCH DESIGNS

DESCRIPTIVE RESEARCH DESIGNS DESCRIPTIVE RESEARCH DESIGNS Sole Purpose: to describe a behavior or type of subject not to look for any specific relationships, nor to correlate 2 or more variables Disadvantages since setting is completely

More information

Module Title: Software Development A: Mobile Application Development

Module Title: Software Development A: Mobile Application Development Module Title: Software Development A: Mobile Application Development Module Code: SDA SDA prerequisites: CT1, HS1, MS001, CA Award of BSc. In Information Technology The Bachelor of Science in Information

More information

Zarządzanie projektem agile 2015-05-21. The Mystery of Effective IT by Bogdan Bereza blogomotion.com/mystery 1 (30) Effective IT?

Zarządzanie projektem agile 2015-05-21. The Mystery of Effective IT by Bogdan Bereza blogomotion.com/mystery 1 (30) Effective IT? The Mystery of Effective IT by Bogdan Bereza blogomotion.com/mystery 1 (30) Effective IT? The Mystery of Effective IT by Bogdan Bereza blogomotion.com/mystery 2 (30) Bogdan Bereza, Victo.eu 1 The Mystery

More information

How Operating Systems Create Network Efficiency

How Operating Systems Create Network Efficiency White Paper How Operating Systems Create Network Efficiency Lake Partners Strategy Consultants, Inc. 1000 Second Avenue, Suite 3600 Seattle, WA 98104 USA 206.428.0300 888.240.6898 www.lakepartners.com

More information

THE OPEN SOURCE DEVELOPER REPORT

THE OPEN SOURCE DEVELOPER REPORT THE OPEN SOURCE DEVELOPER REPORT 2011 ECLIPSE COMMUNITY SURVEY JUNE 20 11 EXECUTIVE SUMMARY Eclipse is a large, vibrant, well-established open source community with over 200 open source projects, close

More information

Extreme Interviewing

Extreme Interviewing Extreme Interviewing Clement James Goebel III, Thomas Meloche, and Richard Sheridan Menlo Institute LLC 410 North Fourth Avenue 3rd Floor Ann Arbor, MI 48104 USA jgoebel@menloinstitute.com tmeloche@menloinstitute.com

More information

Tutorial 5: Developing Java applications

Tutorial 5: Developing Java applications Tutorial 5: Developing Java applications p. 1 Tutorial 5: Developing Java applications Georgios Gousios gousiosg@aueb.gr Department of Management Science and Technology Athens University of Economics and

More information

Stat 411/511 THE RANDOMIZATION TEST. Charlotte Wickham. stat511.cwick.co.nz. Oct 16 2015

Stat 411/511 THE RANDOMIZATION TEST. Charlotte Wickham. stat511.cwick.co.nz. Oct 16 2015 Stat 411/511 THE RANDOMIZATION TEST Oct 16 2015 Charlotte Wickham stat511.cwick.co.nz Today Review randomization model Conduct randomization test What about CIs? Using a t-distribution as an approximation

More information

Application Testing Suite Oracle Load Testing Introduction

Application Testing Suite Oracle Load Testing Introduction Application Testing Suite Oracle Load Testing Introduction ATS Load Testing Workshop Bangalore, India September 24 / 25 2012 Yutaka Takatsu ATS Group Product Manager Oracle Enterprise Manager - ATS 1 Agenda

More information

Factors Influencing Design Quality and Assurance in Software Development: An Empirical Study

Factors Influencing Design Quality and Assurance in Software Development: An Empirical Study Factors Influencing Design Quality and Assurance in Software Development: An Empirical Study Cristina Valdaliso Rutgers/NJIT University, Newark, NJ Valdaliso@earthlink.net Osama Eljabiri New Jersey Institute

More information

ANDROID DEVELOPER RESUME USA

ANDROID DEVELOPER RESUME USA Android Developer resume usa 1 of 5 1/12/2015 2:28 PM ANDROID DEVELOPER RESUME USA.NET Developers/Architects Resumes Please note that this is a not a Job Board - We are an I.T Staffing Company and we provide

More information

Evaluating Emerging Software Development Technologies: Lessons Learned from Assessing Aspect-Oriented Programming

Evaluating Emerging Software Development Technologies: Lessons Learned from Assessing Aspect-Oriented Programming Evaluating Emerging Software Development Technologies: Lessons Learned from Assessing Aspect-Oriented Programming Murphy, Walker, Baniassad IEEE Transactions on Software Engineering Vol. 25, No. 4, July/August

More information

Interaction and Visualization Techniques for Programming

Interaction and Visualization Techniques for Programming Interaction and Visualization Techniques for Programming Mikkel Rønne Jakobsen Dept. of Computing, University of Copenhagen Copenhagen, Denmark mikkelrj@diku.dk Abstract. Programmers spend much of their

More information

Medical Underwriting - MIB Checking Service

Medical Underwriting - MIB Checking Service Article from: Health Watch Newsletter September 2006 Issue 53 Medical Underwriting: Protective Value Study of MIB s Checking Service by Jonathan Shreve Abstract Medical underwriting is the cornerstone

More information

AEM Developer Tools for Eclipse

AEM Developer Tools for Eclipse AEM Developer Tools for Eclipse Stefan Egli, Software Developer, Adobe Basel AEM Developer Tools for Eclipse Mission Statement Make AEM application development easier more straight forward and aligned

More information

Software Developer Activity as a Source for Identifying Hidden Source Code Dependencies

Software Developer Activity as a Source for Identifying Hidden Source Code Dependencies Software Developer Activity as a Source for Identifying Hidden Source Code Dependencies Martin Konôpka, Mária Bieliková Slovak University of Technology, Faculty of Informatics and Information Technologies,

More information

Android based Secured Vehicle Key Finder System

Android based Secured Vehicle Key Finder System International OPEN ACCESS Journal Of Modern Engineering Research (IJMER) Android based Secured Vehicle Key Finder System Sindhoori S. 1, Dr. N. Sathish Kumar 2 *(M.E. Embedded System Technologies, Sri

More information

Supporting Mobile Applications Developer through Java IDE Using Contextual Inquiry

Supporting Mobile Applications Developer through Java IDE Using Contextual Inquiry 2009 World Congress on Computer Science and Information Engineering Supporting Mobile Applications Developer through Java IDE Using Contextual Inquiry Ogunleye Olalekan Samuel Meraka Institute, CSIR Meiring

More information

Best Practices for Java Projects Horst Rechner

Best Practices for Java Projects Horst Rechner Best Practices for Java Projects Horst Rechner Abstract: The combination of automated builds with module and integration tests and centralized bug and work tracking using a combination of Eclipse, Mylyn,

More information

How to Move Mail From Your Old POP Account To Exchange Using Outlook 2010

How to Move Mail From Your Old POP Account To Exchange Using Outlook 2010 How to Move Mail From Your Old POP Account To Exchange Using Outlook 2010 This tutorial shows you how to move your mail, calendar and contacts from an outlook pop account connected to the old mail system

More information

Adult Physical Activity

Adult Physical Activity NOO data factsheet Adult Physical Activity November 2012 Key points According to the Health Survey for England (self-reported data), 39% of men and 29% of women met the government s physical activity recommendations

More information

The Impact of Implementing SAP System on Human Resource Management: Application to Saudi Electricity Company

The Impact of Implementing SAP System on Human Resource Management: Application to Saudi Electricity Company International Journal of Business and Management; Vol. 9, No. 12; 2014 ISSN 1833-3850 E-ISSN 1833-8119 Published by Canadian Center of Science and Education The Impact of Implementing SAP System on Human

More information

Analysis Programs DPDAK and DAWN

Analysis Programs DPDAK and DAWN Analysis Programs DPDAK and DAWN An Overview Gero Flucke FS-EC PNI-HDRI Spring Meeting April 13-14, 2015 Outline Introduction Overview of Analysis Programs: DPDAK DAWN Summary Gero Flucke (DESY) Analysis

More information

Learning from Project History: A Case Study for Software Development

Learning from Project History: A Case Study for Software Development Learning from Project History: A Case Study for Software Development Davor Čubranić 1 Gail C. Murphy 1 Janice Singer 2 Kellogg S. Booth 1 1 Department of Computer Science University of British Columbia

More information

How Programmers Use Internet Resources to Aid Programming

How Programmers Use Internet Resources to Aid Programming How Programmers Use Internet Resources to Aid Programming Jeffrey Stylos Brad A. Myers Computer Science Department and Human-Computer Interaction Institute Carnegie Mellon University 5000 Forbes Ave Pittsburgh,

More information

Eclipse Scout. Eclipse Scout in the Banking Industry

Eclipse Scout. Eclipse Scout in the Banking Industry Eclipse Scout Eclipse Scout in the Banking Industry Eclipse Banking Day 2010, June 1 st, Copenhagen Jens Thuessen, Andreas Hoegger, Matthias Zimmermann BSI Business Systems Integration AG Talk Outline

More information

Exploiting Dynamic Information in IDEs Eases Software Maintenance

Exploiting Dynamic Information in IDEs Eases Software Maintenance Exploiting Dynamic Information in IDEs Eases Software Maintenance David Röthlisberger Software Composition Group, University of Bern, Switzerland roethlis@iam.unibe.ch Abstract The integrated development

More information

Secondary school students use of computers at home

Secondary school students use of computers at home British Journal of Educational Technology Vol 30 No 4 1999 331 339 Secondary school students use of computers at home Susan Harris Susan Harris is a Senior Research Officer at the National Foundation for

More information

Development Environment and Tools for Java. Brian Hughes IBM

Development Environment and Tools for Java. Brian Hughes IBM Development Environment and Tools for Java Brian Hughes IBM 1 Acknowledgements and Disclaimers Availability. References in this presentation to IBM products, programs, or services do not imply that they

More information

Continuous Integration. CSC 440: Software Engineering Slide #1

Continuous Integration. CSC 440: Software Engineering Slide #1 Continuous Integration CSC 440: Software Engineering Slide #1 Topics 1. Continuous integration 2. Configuration management 3. Types of version control 1. None 2. Lock-Modify-Unlock 3. Copy-Modify-Merge

More information

Analyzing and interpreting data Evaluation resources from Wilder Research

Analyzing and interpreting data Evaluation resources from Wilder Research Wilder Research Analyzing and interpreting data Evaluation resources from Wilder Research Once data are collected, the next step is to analyze the data. A plan for analyzing your data should be developed

More information

Introduction to Cloud Computing

Introduction to Cloud Computing Introduction to Cloud Computing Qloud Demonstration 15 319, spring 2010 3 rd Lecture, Jan 19 th Suhail Rehman Time to check out the Qloud! Enough Talk! Time for some Action! Finally you can have your own

More information

Abstract. Keywords: controlled experimentation, single-subject experiments

Abstract. Keywords: controlled experimentation, single-subject experiments N = 1: an alternative for software engineering research? Warren Harrison Department of Computer Science Portland State University Portland, OR 97207-0751 USA 503-725-3108 warren@cs.pdx.edu Abstract The

More information

PC Based Escape Analysis in the Java Virtual Machine

PC Based Escape Analysis in the Java Virtual Machine PC Based Escape Analysis in the Java Virtual Machine Manfred Jendrosch, Gerhard W. Dueck, Charlie Gracie, and AndréHinkenjann Abstract Current computer architectures are multi-threaded and make use of

More information

C. Wohlin, "Is Prior Knowledge of a Programming Language Important for Software Quality?", Proceedings 1st International Symposium on Empirical

C. Wohlin, Is Prior Knowledge of a Programming Language Important for Software Quality?, Proceedings 1st International Symposium on Empirical C. Wohlin, "Is Prior Knowledge of a Programming Language Important for Software Quality?", Proceedings 1st International Symposium on Empirical Software Engineering, pp. 27-36, Nara, Japan, October 2002.

More information

Entrepreneurship and Small Business Management - BUAD 136 Business Administration Program/Administrative Studies. Course Outline

Entrepreneurship and Small Business Management - BUAD 136 Business Administration Program/Administrative Studies. Course Outline Entrepreneurship and Small Business Management - BUAD 136 Business Administration Program/Administrative Studies Course Outline COURSE IMPLEMENTATION DATE: March 2002 OUTLINE EFFECTIVE DATE: September

More information

Writing the Curriculum Vitae

Writing the Curriculum Vitae Writing the What you really need to know right now Resume vs. Length: Short Content: All-inclusive summary of skills, experiences, and education Purpose-get employment (or interview) Length: As long as

More information

Lecture 1 Introduction to Android

Lecture 1 Introduction to Android These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy

More information

BEAJRockit Mission Control. Using JRockit Mission Control in the Eclipse IDE

BEAJRockit Mission Control. Using JRockit Mission Control in the Eclipse IDE BEAJRockit Mission Control Using JRockit Mission Control in the Eclipse IDE Mission Control 3.0.2 Document Revised: June, 2008 Contents 1. Introduction Benefits of the Integration................................................

More information

Mobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game

Mobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game Mobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game Directions: In mobile Applications the Control Model View model works to divide the work within an application.

More information

Selecting Research Participants

Selecting Research Participants C H A P T E R 6 Selecting Research Participants OBJECTIVES After studying this chapter, students should be able to Define the term sampling frame Describe the difference between random sampling and random

More information

Continuing education activities program and application terms

Continuing education activities program and application terms 5, Place Ville Marie, bureau 800, Montréal (Québec) H3B 2G2 T. 514 288.3256 1 800 363.4688 Téléc. 514 843.8375 www.cpaquebec.ca Continuing education activities program and application terms of the Regulation

More information

Java SE 7 Programming

Java SE 7 Programming Oracle University Contact Us: 1.800.529.0165 Java SE 7 Programming Duration: 5 Days What you will learn This Java SE 7 Programming training explores the core Application Programming Interfaces (API) you'll

More information

Open Source in Mobile Test Automation. Ru Cindrea - Altom ru@altom.ro

Open Source in Mobile Test Automation. Ru Cindrea - Altom ru@altom.ro Open Source in Mobile Test Automation Ru Cindrea - Altom ru@altom.ro About me software tester since 2002 BS in Computer Science 7 years of mobile application testing testing consultant and managing partner

More information

Eliminating Over-Confidence in Software Development Effort Estimates

Eliminating Over-Confidence in Software Development Effort Estimates Eliminating Over-Confidence in Software Development Effort Estimates Magne Jørgensen 1 and Kjetil Moløkken 1,2 1 Simula Research Laboratory, P.O.Box 134, 1325 Lysaker, Norway {magne.jorgensen, kjetilmo}@simula.no

More information

Release: 1. ICAPRG503A Debug and monitor applications

Release: 1. ICAPRG503A Debug and monitor applications Release: 1 ICAPRG503A Debug and monitor applications ICAPRG503A Debug and monitor applications Modification History Release Release 1 Comments This Unit first released with ICA11 Information and Communications

More information

language 1 (source) compiler language 2 (target) Figure 1: Compiling a program

language 1 (source) compiler language 2 (target) Figure 1: Compiling a program CS 2112 Lecture 27 Interpreters, compilers, and the Java Virtual Machine 1 May 2012 Lecturer: Andrew Myers 1 Interpreters vs. compilers There are two strategies for obtaining runnable code from a program

More information

Java SE 7 Programming

Java SE 7 Programming Oracle University Contact Us: Local: 1800 103 4775 Intl: +91 80 4108 4709 Java SE 7 Programming Duration: 5 Days What you will learn This Java Programming training covers the core Application Programming

More information

TESTING NORMATIVE AND SELF-APPRAISAL FEEDBACK IN AN ONLINE SLOT-MACHINE POP-UP MESSAGE IN A REAL-WORLD SETTING

TESTING NORMATIVE AND SELF-APPRAISAL FEEDBACK IN AN ONLINE SLOT-MACHINE POP-UP MESSAGE IN A REAL-WORLD SETTING TESTING NORMATIVE AND SELF-APPRAISAL FEEDBACK IN AN ONLINE SLOT-MACHINE POP-UP MESSAGE IN A REAL-WORLD SETTING DR MARK GRIFFITHS DORIS MALISCNNIG & MICHAEL AUER International Gaming Research Unit Nottingham

More information

TREATMENT PLAN DOMAINS: For each goal, please complete each of the following domains:

TREATMENT PLAN DOMAINS: For each goal, please complete each of the following domains: Section 24 Provider Agency: Date of Individual Treatment Plan: DOB: Age: TREATMENT PLAN DOMAINS: For each goal, please complete each of the following domains: Describe what the child will do in observable

More information

Tool-Assisted Unit-Test Generation and Selection Based on Operational Abstractions

Tool-Assisted Unit-Test Generation and Selection Based on Operational Abstractions Tool-Assisted Unit-Test Generation and Selection Based on Operational Abstractions Tao Xie 1 and David Notkin 2 (xie@csc.ncsu.edu,notkin@cs.washington.edu) 1 Department of Computer Science, North Carolina

More information

Java Mission Control

Java Mission Control Java Mission Control Harald Bräuning Resources Main Resource: Java Mission Control Tutorial by Marcus Hirt http://hirt.se/downloads/oracle/jmc_tutorial.zip includes sample projects! Local copy: /common/fesa/jmcexamples/jmc_tutorial.zip

More information

CREDIT CARD FRAUD DETECTION SYSTEM USING GENETIC ALGORITHM

CREDIT CARD FRAUD DETECTION SYSTEM USING GENETIC ALGORITHM CREDIT CARD FRAUD DETECTION SYSTEM USING GENETIC ALGORITHM ABSTRACT: Due to the rise and rapid growth of E-Commerce, use of credit cards for online purchases has dramatically increased and it caused an

More information

Mr. Snong Boiciew. Summary

Mr. Snong Boiciew. Summary This dissertation entitled The Preparedness of Selected Schools Krabi Educational Service Area to Become Lab School Project Basic for an Enhancement Program by Mr. Snong Boiciew This research was conducted

More information

AndroLIFT: A Tool for Android Application Life Cycles

AndroLIFT: A Tool for Android Application Life Cycles AndroLIFT: A Tool for Android Application Life Cycles Dominik Franke, Tobias Royé, and Stefan Kowalewski Embedded Software Laboratory Ahornstraße 55, 52074 Aachen, Germany { franke, roye, kowalewski}@embedded.rwth-aachen.de

More information

Rational Developer for IBM i (RDi) Introduction to RDi

Rational Developer for IBM i (RDi) Introduction to RDi IBM Software Group Rational Developer for IBM i (RDi) Introduction to RDi Featuring: Creating a connection, setting up the library list, working with objects using Remote Systems Explorer. Last Update:

More information

Introduction. All those questions needed to be answered. Some answers were surprise for all participants.

Introduction. All those questions needed to be answered. Some answers were surprise for all participants. Introduction The new phenomena, called multidisciplinarity, enters to the universities life only a few years ago. The demand of the alumnus, experienced in more than one branch, increased very rapidly

More information

Java Programming. Binnur Kurt binnur.kurt@ieee.org. Istanbul Technical University Computer Engineering Department. Java Programming. Version 0.0.

Java Programming. Binnur Kurt binnur.kurt@ieee.org. Istanbul Technical University Computer Engineering Department. Java Programming. Version 0.0. Java Programming Binnur Kurt binnur.kurt@ieee.org Istanbul Technical University Computer Engineering Department Java Programming 1 Version 0.0.4 About the Lecturer BSc İTÜ, Computer Engineering Department,

More information

Week 3&4: Z tables and the Sampling Distribution of X

Week 3&4: Z tables and the Sampling Distribution of X Week 3&4: Z tables and the Sampling Distribution of X 2 / 36 The Standard Normal Distribution, or Z Distribution, is the distribution of a random variable, Z N(0, 1 2 ). The distribution of any other normal

More information

Computer Information Systems Programs. Applied Computer Information Systems Associate in Science Degree and Certificate of Achievement

Computer Information Systems Programs. Applied Computer Information Systems Associate in Science Degree and Certificate of Achievement Computer Information Systems Programs The Computer Information Systems programs provide courses to improve students computer and software knowledge and skills. The CIS Associate in Science degrees enables

More information

Succession Plan for Genome Canada Executive & Senior Manager Positions

Succession Plan for Genome Canada Executive & Senior Manager Positions Approved by Board June 12, 2007 Succession Plan for Genome Canada Executive & Senior Manager Positions OVERVIEW Part of best practices in good governance is to have in place a succession plan which clearly

More information

Java Development Productivity and Quality Using Eclipse:

Java Development Productivity and Quality Using Eclipse: Java Development Productivity and Quality Using Eclipse: A Comparative Study of Commercial Eclipse-based IDEs The productivity benefits of using commercial Eclipse-based Java IDE products from IBM (IBM

More information

IBM SPSS Direct Marketing 23

IBM SPSS Direct Marketing 23 IBM SPSS Direct Marketing 23 Note Before using this information and the product it supports, read the information in Notices on page 25. Product Information This edition applies to version 23, release

More information

EFFECT OF TOTAL QUALITY MANAGEMENT ON THE PERFORMANCE OF BREWERY INDUSTRY IN NIGERIA: AN EMPIRICAL STUDY OF SELECTED BREWERIES IN LAGOS STATE, NIGERIA

EFFECT OF TOTAL QUALITY MANAGEMENT ON THE PERFORMANCE OF BREWERY INDUSTRY IN NIGERIA: AN EMPIRICAL STUDY OF SELECTED BREWERIES IN LAGOS STATE, NIGERIA ISSN: 0189-5958 Website: www.arabianjbmr.com/ngjsd_index.php EFFECT OF TOTAL QUALITY MANAGEMENT ON THE PERFORMANCE OF BREWERY INDUSTRY IN NIGERIA: AN EMPIRICAL STUDY OF SELECTED BREWERIES IN LAGOS STATE,

More information

Chapter 3: Restricted Structures Page 1

Chapter 3: Restricted Structures Page 1 Chapter 3: Restricted Structures Page 1 1 2 3 4 5 6 7 8 9 10 Restricted Structures Chapter 3 Overview Of Restricted Structures The two most commonly used restricted structures are Stack and Queue Both

More information

Embedded Software development Process and Tools: Lesson-3 Host and Target Machines

Embedded Software development Process and Tools: Lesson-3 Host and Target Machines Embedded Software development Process and Tools: Lesson-3 Host and Target Machines 1 1. Host-Target Based Development Approach 2 Host-Target System Development Approach During development process, a host

More information

What is a programming language?

What is a programming language? Overview Introduction Motivation Why study programming languages? Some key concepts What is a programming language? Artificial language" Computers" Programs" Syntax" Semantics" What is a programming language?...there

More information

Software Engineering Techniques

Software Engineering Techniques Software Engineering Techniques Low level design issues for programming-in-the-large. Software Quality Design by contract Pre- and post conditions Class invariants Ten do Ten do nots Another type of summary

More information

No no-argument constructor. No default constructor found

No no-argument constructor. No default constructor found Every software developer deals with bugs. The really tough bugs aren t detected by the compiler. Nasty bugs manifest themselves only when executed at runtime. Here is a list of the top ten difficult and

More information

A TraceLab-based Solution for Creating, Conducting, Experiments

A TraceLab-based Solution for Creating, Conducting, Experiments A TraceLab-based Solution for Creating, Conducting, and Sharing Feature Location Experiments Bogdan Dit, Evan Moritz, Denys Poshyvanyk 20 th IEEE International Conference on Program Comprehension (ICPC

More information

Overview of CS 282 & Android

Overview of CS 282 & Android Overview of CS 282 & Android Douglas C. Schmidt d.schmidt@vanderbilt.edu www.dre.vanderbilt.edu/~schmidt Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee, USA CS 282

More information

A Tutorial on installing and using Eclipse

A Tutorial on installing and using Eclipse SEG-N-0017 (2011) A Tutorial on installing and using Eclipse LS Chin, C Greenough, DJ Worth July 2011 Abstract This SEGNote is part of the material use at the CCPPNet Software Engineering Workshop. Its

More information