A Survey-based Study of Maintainability Metrics Luiz Paulo Coelho Ferreira

Slides:



Advertisements
Similar presentations
Critical Thinking Skills Academic Support Unit Adapted from: Practicing College Learning Strategies 3 rd edition Carolyn H. Hopper.
Advertisements

What is Science?.
Farewell to ICT or evolving ICT into Computing? Phil Bagge code-it.co.uk.
Unit 6 Assignment 2 Chris Boardley.
An Analysis of Machine Learning Algorithms for Condensing Reverse Engineered Class Diagrams Hafeez Osman, Michel R.V. Chaudron and Peter van der Putten.
Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik QA Academy SOAP-based Web.
5.00 Understand Promotion Research  Distinguish between basic and applied research (i.e., generation of knowledge vs. solving a specific.
David Woo (dxw07u).  What is “White Box Testing”  Data Processing and Calculation Correctness Tests  Correctness Tests:  Path Coverage  Line Coverage.
System Analysis (Part 1)
Antonis Lionarakis, Hellenic Open University Considerations for Distance Learning: ‘what students learn’, ‘how they learn’ and ‘what they are able to do.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
School of Electrical Engineering & Computer Science National University of Sciences & Technology (NUST), Pakistan Impact of University Ranking on Students.
ES: Expert Systems n Knowledge Base (facts, rules) n Inference Engine (software) n User Interface.
EPortfolio Assessment Pilot. Agenda Purpose of the ePortfolio assessment pilot CSD use of ePortfolio English department use of ePortfolio Future applications.
EXAMPLE 4 Choose a solution method Tell what method you would use to solve the quadratic equation. Explain your choice(s). a. 10x 2 – 7 = 0 SOLUTION a.
INFLUENCE OF UNDERGRADUATE COURSE SOFTWARE DESIGN AND ARCHITECTURE TO POSTGRADUATE COURSE ARCHITECTURE, DESIGN AND PATTERNS Magdalena Kostoska Nevena Ackovska.
Introducing Computer Science in the Classroom
TEAM MORALE Team Assignment 12 SOFTWARE MEASUREMENT & ANALYSIS K15T2-Team 21.
CH07: Writing the Programs Does not teach you how to program, but point out some software engineering practices that you should should keep in mind as.
Evaluation and analysis of the application of interactive digital resources in a blended-learning methodology for a computer networks subject F.A. Candelas,
Technical Writing Vikram Pudi. Vikram © IIIT 2 Dedicated to: My Ph.D advisor Prof. Jayant Haritsa IISc, Bangalore.
Ch 7.4 – Applications of Linear Systems
Intel ® Teach Program International Curriculum Roundtable Programs of the Intel ® Education Initiative are funded by the Intel Foundation and Intel Corporation.
Generalization through a series of replicated experiments on maintainability Erik Arisholm.
Software Estimation and Function Point Analysis Presented by Craig Myers MBA 731 November 12, 2007.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 6 Value- Returning Functions and Modules.
The Nature of Science and The Scientific Method. What is Science SCIENCE IS….. a way in which answers related to NATURAL events are proposed a way in.
Comment Extractor Ethan Chan Tianqiu Tem Wang Juliana Wong.
PAPER PRESENTATION: EMPIRICAL ASSESSMENT OF MDE IN INDUSTRY Erik Wang CAS 703.
Computer Science 240 © Ken Rodham 2006 Principles of Software Design.
Abstraction IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, September 17, 2013 Marie desJardins University of Maryland, Baltimore County.
Direct and Indirect Measures INPUTS OUTCOMES. Assessment Basics: Overview Characteristics of learning outcomes Introduction to assessment tools Validity.
Kruse/Ryba Ch011 Object Oriented Data Structures Programming Principles Introduction Programming Style Coding, Testing, Further Refinement Program Maintenance.
12 Developing a Web Site Section 12.1 Discuss the functions of a Web site Compare and contrast style sheets Apply cascading style sheets (CSS) to a Web.
AP Lang Exam Review. Multiple Choice questions. 1 hour. Answer all questions. – Only gain points for correct answers. – Not penalized for incorrect.
Teaching and Mentoring Student Researchers Part 2: Scientific Research Dr. Nancy Allen College of Education, Qatar University Dr. Gene Jongsma Education.
Chapter 5: NEEDS ASSESSMENT “Acting without thinking is like shooting without aiming.” B. C. Forbes.
Introduction to Quadratic Equations & Solving by Finding Square Roots Chapter 5.3.
Common Mistakes in Writing Project Report By: COIT Final Year Project Committee.
Survey Solutions An Introduction to Surveying. What Is a Survey? A survey is a series of questions asked of a group of people in order to gain information.
Who would you rather be: Spiderman or a Ninja Turtle? and Why? Introduction Task Process Resources Conclusion Rubric Teacher Page Teacher Page.
Globalisation – should it continue or should we control? Year 9 Globalisation Your task is to create a magazine/newspaper article on the following topic:
Introduction to Functions CSIS 1595: Fundamentals of Programming and Problem Solving 1.
Copyright © 2011 Wolters Kluwer Health | Lippincott Williams & Wilkins Chapter 1 Research: An Overview.
Engineering Design Process Applied Technology Engineering Design Process © 2011 International Technology and Engineering Educators Association, STEM 
Biology Notes Chapter 1 Scientific Method. Science is an organized way of using evidence to learn about the natural world.
EXPERT SYSTEM WEEK 1. C ATALOG D ESCRIPTION Knowledge Acquisition techniques, Knowledge representation, Analysis and Design of an ES, Reasoning strategies,
Solving inequalities. An equation. Solve this and graph the answer on a number line: x - 2 = 5.
Project Proposal. Option 1 Cellular GPS application and server.
Michael J. Salé, Seidenberg School of CSIS, Westchester DPS 2016
Annual Professional Development Conference
The most important work in Operating Systems
Global Positioning System
The most important work in Software Verification
Lecture 2 Introduction to Programming
Graduation Project Kick-off presentation - SET
An Introduction to Visual Basic .NET and Program Design
Chapter 1: The Science of Biology
Introduction to Computers
VISUAL BASIC – CHAPTER ONE NOTES An Introduction to Visual Basic
Software Testing and Maintenance Modifying Code
Scientific Method.
Unit 6 Assignment 2 Chris Boardley.
Unit 1 Lesson 8 Interpersonal Communication and Self Management.
Topics Introduction to Value-returning Functions: Generating Random Numbers Writing Your Own Value-Returning Functions The math Module Storing Functions.
WEEK 8 COURSE PROJECT PRESENTATION NAME: ALEXANDER WEISS CLASS: CIS115.
Warm Up Objective: Scientists will describe deductive and inductive reasoning by analyzing scenarios. 1. What is the topic? 2. What will you be doing?
Introduction Software maintenance:
Engineering Design Process
INTRODUCTION TO LINEAR EQUATIONS
Presentation transcript:

A Survey-based Study of Maintainability Metrics Luiz Paulo Coelho Ferreira

Introduction All software development environment faces the same problems: Code will continuously change. If the code of a system grow its maintainability cost grows with it. A well written code can decrease the maintainability cost. 2

CheckIO On line teaching platform. Students can solve and publish problems and their solutions are evaluated by other students. Python based; 131 problems collected; 6k+ solutions; 3

Survey Settings Survey should last no more than 10 minutes 4 problems to be analyzed; Each question should contain 2 equivalent solutions (ES); A problem should not contain more than 6 ES; The responder should explain its reasons for their choices. 4

Pilot Survey Pilot Survey has applied in a group of persons with high knowledge in software engineering and maintainability; Question about the reasons should be an open question; 6 persons responded to the pilot. 5

Survey Options Based on results from pilots we choose the options from a multiple choice question of reasons; Documentation Code Complexity Indentation/Code Style Variables Nomenclatures Number of Lines of Code Modularity Expressions size 6

Results (Partial) 137 responses (and growing) 7

Q1 – Color Maping Solutions 1 and 2 had worse results compared to 3, 4, 5. Solution 4 has 3 votes on CheckIO 8

Q2 – Dark Labyrinth Solutions 3 had the best result compared to all Solution 3 has 7 votes on CheckIO 9

Q3 – Mind Switcher Solutions 2 had the best result compared to all Solution 5 has 7 votes and 6 has 3 on CheckIO 10

Q4 – Lantern River Solutions 6 had the best result compared to all Solution 6 has 3 votes, 4 and 2 have 2 and 5 has 1 11

Results(To be done) What is the option that impact positively in good solutions and negatively in bad solutions? Are there any impact on people who have low or none knowledge in python in the research? And graduate x undergraduate? 12

Threats to Validity All responders are Brazilians Code in English; Python only; Simple problems and small solutions; Only 4 problems analyzed. 13

Conclusions (so far) In most cases CheckIO users have the same opinion as ours programmers But it still have some improvements to be done; Indentation and Style is the most common reasons to chose a good or bad code and there is lot of tools to solve this problem; Documentation, Code Complexity and Variables Nomenclature are others high voted reasons; Number of Lines of Code, except by Q3, did not received high number of votes. 14

Questions ?????????? 15