SlideShare a Scribd company logo
codingAND testing 
SUPPORTING 
Suelen G. Carvalho 
Departamento de Ciência da Computação - Instituto de Matemática e Estatística - Universidade de São Paulo
We will discuss about… 
How to improve 
the environment for 
coding and testing 
of software
article 
Finding Causes of Program Output with the 
Java Whyline Finding Causes of Program 
Output with the Java Whyline. 
Andrew 
Ko Brad 
A. 
Myers 
University 
of 
Washington Carnegie 
Mellon 
University 
2009
A painting program 
500 lines of Java code 
a few bugs to fix 
The problem: Find and fix bugs
How to fix it? 
In the study, users took a median of 10 
minutes to find the problem, mostly 
using text searches for "color" to 
find relevante code.
How to fix it? 
In the study, users took a median of 
minutes 
using 
find relevante code. 
debugging is hypotesis-driven
The proposal to improve debugging software: 
Whyline not only avoid the 
speculation about the cause of a 
failure, but also simplifies the 
exploration of code responsible for 
the output.
Whyline is a debugging tool that 
allows programmers to ask "Why 
did" and "Why didn't" questions 
about their program's output. 
http://www.cs.cmu.edu/~NatProg/whyline.html
http://www.cs.cmu.edu/~NatProg/whyline-java.html 
Whyline for Java
Conclusions: The number of successful participants and time on task 
Task 1 
Task 2
Limitations: 
Our sample was small and may not be 
representative of Java users… 
…caution should be exercised in applying our 
results to situations in which a developer is more 
closely familiar with the code being debugged.
Similar tools: 
http://chrononsystems.com/products/chronon-time-travelling-debugger 
ReplayDIRECTOR for Java EE 
http://eclipsediver.wordpress.com/ 
Omniscient Debugging 
http://www.lambdacs.com/debugger/ 
JIVE 
http://www.cse.buffalo.edu/jive/ 
http://www.replaysolutions.com/products/replaydirector-for-java-ee
article 
Collabode: Collaborative Coding 
in the Browser 
Max 
Goldman Greg 
Little 
MIT 
CSAIL 
2011 
Robert 
C. 
Miller 
MIT 
CSAIL MIT 
CSAIL
The problem: Improve development environment to collaborate 
micro outsourcing 
test-drive pair 
programming 
To the classroom 
and beyond
How to improve that? 
Collaborating programmers should use a 
development environment designed specifically 
for collaboration…
The proposal to improve collaborative development: 
! 
In Collabode changes by multiple 
programmers can be shared immediately, 
and each programmer can use a different 
interface…
Collabode is a web-based Java IDE 
for close, synchronous collaboration 
between programmers. 
https://github.com/uid/collabode
Collabode 
http://groups.csail.mit.edu/uid/collabode/
Similar tools: 
http://sketchpad.cc/ 
https://mozillalabs.com/en-US/skywriter/ 
http://codemirror.net/ 
http://www.ymacs.org/ 
http://jsfiddle.net/ 
https://c9.io/
article 
Code Bubbles: Rethinking the User 
Interface Paradigm of Integrated 
Development Environments 
Andrew 
Bragdon, 
Steven 
P. 
Reiss, 
Robert 
Zeleznik, 
Suman 
Karumuri, 
William 
Cheung, 
Joshua 
Kaplan, 
Christopher 
Coleman, 
Ferdi 
Adeputra, 
Joseph 
J. 
LaViola 
Jr. 
2010
The problem: Improve code navigation 
Programmers spend 
between 60-90% of their 
time reading and navigating 
code and other data sources
Eclipse:
How to improve that? 
…a new approach, where the IDE 
shows multiple editable fragments 
simultaneously, letting the user see 
and work with complete working sets
The proposal to improve code navigation: 
The design of a novel IDE user interface, 
and associated development tools, based 
on working sets of bubbles that has the 
potential to improve a broad range of 
development tasks.
Code Bubble is a IDE based 
on bubbles to turn better 
navigating into code.
Coding:
Debugging:
Conclusion: 
A further quantitative evaluation showed 
that users were able to perform complex 
code understanding tasks significantly more 
efficiently when using bubbles than when 
using Eclipse due to reduced navigation
Dúvidas 
Departamento de Ciência da Computação - Instituto de Matemática e Estatística - Universidade de São Paulo

More Related Content

What's hot

Ankesh resume
Ankesh resumeAnkesh resume
Ankesh resume
Ankesh Singh Tomar
 
Priyanka resume
Priyanka resumePriyanka resume
Priyanka resume
priyanka sarode
 
Aditya sodhiya resume_2019_06_29
Aditya sodhiya resume_2019_06_29Aditya sodhiya resume_2019_06_29
Aditya sodhiya resume_2019_06_29
Aditya Sodhiya
 
Develop skills in functional and non functional testing
Develop skills in functional and non functional testingDevelop skills in functional and non functional testing
Develop skills in functional and non functional testing
Maveric Systems
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovSvetlin Nakov
 
Challenges and approaches to automating testing of software
Challenges and approaches to automating testing of softwareChallenges and approaches to automating testing of software
Challenges and approaches to automating testing of softwareDavid Montero
 
final_year_project_presentation
final_year_project_presentationfinal_year_project_presentation
final_year_project_presentationSasui Hidayatullah
 
Software Engineering Fundamentals - Svetlin Nakov
Software Engineering Fundamentals - Svetlin NakovSoftware Engineering Fundamentals - Svetlin Nakov
Software Engineering Fundamentals - Svetlin NakovSvetlin Nakov
 
Cody Childers- Resume
Cody Childers- ResumeCody Childers- Resume
Cody Childers- ResumeCody Childers
 
New Microsoft Office Word Document
New Microsoft Office Word DocumentNew Microsoft Office Word Document
New Microsoft Office Word Documentprashanth kandula
 

What's hot (16)

Abdul_modified
Abdul_modifiedAbdul_modified
Abdul_modified
 
Ankesh resume
Ankesh resumeAnkesh resume
Ankesh resume
 
Priyanka resume
Priyanka resumePriyanka resume
Priyanka resume
 
Aditya sodhiya resume_2019_06_29
Aditya sodhiya resume_2019_06_29Aditya sodhiya resume_2019_06_29
Aditya sodhiya resume_2019_06_29
 
shashank_cv
shashank_cvshashank_cv
shashank_cv
 
HirdeshResume_Selenium
HirdeshResume_SeleniumHirdeshResume_Selenium
HirdeshResume_Selenium
 
Develop skills in functional and non functional testing
Develop skills in functional and non functional testingDevelop skills in functional and non functional testing
Develop skills in functional and non functional testing
 
Resume_0.2
Resume_0.2Resume_0.2
Resume_0.2
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin Nakov
 
Challenges and approaches to automating testing of software
Challenges and approaches to automating testing of softwareChallenges and approaches to automating testing of software
Challenges and approaches to automating testing of software
 
VishalBendreQa
VishalBendreQaVishalBendreQa
VishalBendreQa
 
deep res1
deep res1deep res1
deep res1
 
final_year_project_presentation
final_year_project_presentationfinal_year_project_presentation
final_year_project_presentation
 
Software Engineering Fundamentals - Svetlin Nakov
Software Engineering Fundamentals - Svetlin NakovSoftware Engineering Fundamentals - Svetlin Nakov
Software Engineering Fundamentals - Svetlin Nakov
 
Cody Childers- Resume
Cody Childers- ResumeCody Childers- Resume
Cody Childers- Resume
 
New Microsoft Office Word Document
New Microsoft Office Word DocumentNew Microsoft Office Word Document
New Microsoft Office Word Document
 

Similar to Supporting Coding and Testing

Java for C++ programers
Java for C++ programersJava for C++ programers
Java for C++ programers
Salahaddin University-Erbil
 
AP Computer Science Test Prep Part 1 - Introduction to java Programming
AP Computer Science Test Prep Part 1 - Introduction to java ProgrammingAP Computer Science Test Prep Part 1 - Introduction to java Programming
AP Computer Science Test Prep Part 1 - Introduction to java Programming
NR Computer Learning Center
 
Lecture 1 uml with java implementation
Lecture 1 uml with java implementationLecture 1 uml with java implementation
Lecture 1 uml with java implementationthe_wumberlog
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure
rupeshchanchal
 
CAR SHOWROOM SYSTEM
CAR SHOWROOM SYSTEMCAR SHOWROOM SYSTEM
CAR SHOWROOM SYSTEM
Abhishek Shakya
 
Portable Code Compiler
Portable Code CompilerPortable Code Compiler
Portable Code Compiler
ijtsrd
 
Node.js vs. java which one should you choose for backend development
Node.js vs. java  which one should you choose for backend development Node.js vs. java  which one should you choose for backend development
Node.js vs. java which one should you choose for backend development
Moon Technolabs Pvt. Ltd.
 
Mi0041 java and web design
Mi0041  java and web designMi0041  java and web design
Mi0041 java and web design
smumbahelp
 
Mi0041 java and web design
Mi0041  java and web designMi0041  java and web design
Mi0041 java and web designsmumbahelp
 
Mi0041 java and web design
Mi0041  java and web designMi0041  java and web design
Mi0041 java and web design
smumbahelp
 
Java report by ravi raja
Java report by ravi rajaJava report by ravi raja
Java report by ravi raja
RaviRaja55
 
MODULE_1_The History and Evolution of Java.pptx
MODULE_1_The History and Evolution of Java.pptxMODULE_1_The History and Evolution of Java.pptx
MODULE_1_The History and Evolution of Java.pptx
VeerannaKotagi1
 
10 interesting things about java
10 interesting things about java10 interesting things about java
10 interesting things about java
kanchanmahajan23
 
Hiring Java Developers A Comprehensive Guide for Success.pdf
Hiring Java Developers A Comprehensive Guide for Success.pdfHiring Java Developers A Comprehensive Guide for Success.pdf
Hiring Java Developers A Comprehensive Guide for Success.pdf
AIS Technolabs Pvt Ltd
 
Ramesh Babu Resume Latest
Ramesh Babu Resume LatestRamesh Babu Resume Latest
Ramesh Babu Resume LatestRamesh Babu
 

Similar to Supporting Coding and Testing (20)

Java for C++ programers
Java for C++ programersJava for C++ programers
Java for C++ programers
 
AP Computer Science Test Prep Part 1 - Introduction to java Programming
AP Computer Science Test Prep Part 1 - Introduction to java ProgrammingAP Computer Science Test Prep Part 1 - Introduction to java Programming
AP Computer Science Test Prep Part 1 - Introduction to java Programming
 
Lecture 1 uml with java implementation
Lecture 1 uml with java implementationLecture 1 uml with java implementation
Lecture 1 uml with java implementation
 
Naresh Chirra
Naresh ChirraNaresh Chirra
Naresh Chirra
 
01.intro
01.intro01.intro
01.intro
 
Babasaheb javca
Babasaheb javcaBabasaheb javca
Babasaheb javca
 
Software Development Standard Operating Procedure
Software Development Standard Operating Procedure Software Development Standard Operating Procedure
Software Development Standard Operating Procedure
 
CAR SHOWROOM SYSTEM
CAR SHOWROOM SYSTEMCAR SHOWROOM SYSTEM
CAR SHOWROOM SYSTEM
 
Portable Code Compiler
Portable Code CompilerPortable Code Compiler
Portable Code Compiler
 
Sundeep 2 years
Sundeep 2 yearsSundeep 2 years
Sundeep 2 years
 
Node.js vs. java which one should you choose for backend development
Node.js vs. java  which one should you choose for backend development Node.js vs. java  which one should you choose for backend development
Node.js vs. java which one should you choose for backend development
 
Mi0041 java and web design
Mi0041  java and web designMi0041  java and web design
Mi0041 java and web design
 
Mi0041 java and web design
Mi0041  java and web designMi0041  java and web design
Mi0041 java and web design
 
Mi0041 java and web design
Mi0041  java and web designMi0041  java and web design
Mi0041 java and web design
 
Java report by ravi raja
Java report by ravi rajaJava report by ravi raja
Java report by ravi raja
 
MODULE_1_The History and Evolution of Java.pptx
MODULE_1_The History and Evolution of Java.pptxMODULE_1_The History and Evolution of Java.pptx
MODULE_1_The History and Evolution of Java.pptx
 
Prakasha_Resume
Prakasha_ResumePrakasha_Resume
Prakasha_Resume
 
10 interesting things about java
10 interesting things about java10 interesting things about java
10 interesting things about java
 
Hiring Java Developers A Comprehensive Guide for Success.pdf
Hiring Java Developers A Comprehensive Guide for Success.pdfHiring Java Developers A Comprehensive Guide for Success.pdf
Hiring Java Developers A Comprehensive Guide for Success.pdf
 
Ramesh Babu Resume Latest
Ramesh Babu Resume LatestRamesh Babu Resume Latest
Ramesh Babu Resume Latest
 

More from Suelen Carvalho

Porque Métodos Ágeis não é pra você!
Porque Métodos Ágeis não é pra você!Porque Métodos Ágeis não é pra você!
Porque Métodos Ágeis não é pra você!
Suelen Carvalho
 
Scrum: Relembrando os por quês?
Scrum: Relembrando os por quês?Scrum: Relembrando os por quês?
Scrum: Relembrando os por quês?
Suelen Carvalho
 
Techtrends xp desafios da agilidade com trabalho remoto
Techtrends xp   desafios da agilidade com trabalho remotoTechtrends xp   desafios da agilidade com trabalho remoto
Techtrends xp desafios da agilidade com trabalho remoto
Suelen Carvalho
 
Introdução a Kotlin
Introdução a KotlinIntrodução a Kotlin
Introdução a Kotlin
Suelen Carvalho
 
Introdução a Android Instant Apps
Introdução a Android Instant AppsIntrodução a Android Instant Apps
Introdução a Android Instant Apps
Suelen Carvalho
 
Google IO'17
Google IO'17Google IO'17
Google IO'17
Suelen Carvalho
 
Construindo Times de Alta Performance - Produtos & Engenharia
Construindo Times de Alta Performance - Produtos & EngenhariaConstruindo Times de Alta Performance - Produtos & Engenharia
Construindo Times de Alta Performance - Produtos & Engenharia
Suelen Carvalho
 
Git Merge e Rebase - The goal and differences
Git Merge e Rebase - The goal and differencesGit Merge e Rebase - The goal and differences
Git Merge e Rebase - The goal and differences
Suelen Carvalho
 
Dynamic Programming and Reinforcement Learning applied to Tetris Game
Dynamic Programming and Reinforcement Learning applied to Tetris GameDynamic Programming and Reinforcement Learning applied to Tetris Game
Dynamic Programming and Reinforcement Learning applied to Tetris Game
Suelen Carvalho
 
Desenvolvimento de Novos Líderes - Paidéia Educação
Desenvolvimento de Novos Líderes - Paidéia EducaçãoDesenvolvimento de Novos Líderes - Paidéia Educação
Desenvolvimento de Novos Líderes - Paidéia Educação
Suelen Carvalho
 
O sucesso do seu app está nos detalhes!
O sucesso do seu app está nos detalhes!O sucesso do seu app está nos detalhes!
O sucesso do seu app está nos detalhes!
Suelen Carvalho
 
Go lang
Go langGo lang
Intercon Android 2014 - Google Play In App Billing
Intercon Android 2014 - Google Play In App BillingIntercon Android 2014 - Google Play In App Billing
Intercon Android 2014 - Google Play In App Billing
Suelen Carvalho
 
Semana da Computação USP São Carlos 2014 - Carreira Mobile
Semana da Computação USP São Carlos 2014 - Carreira MobileSemana da Computação USP São Carlos 2014 - Carreira Mobile
Semana da Computação USP São Carlos 2014 - Carreira Mobile
Suelen Carvalho
 
TDC 2014 - Tudo sobre GCM Push Notifications
TDC 2014 - Tudo sobre GCM Push NotificationsTDC 2014 - Tudo sobre GCM Push Notifications
TDC 2014 - Tudo sobre GCM Push Notifications
Suelen Carvalho
 
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...Suelen Carvalho
 
Conexao Java - Sua primeira app Android
Conexao Java - Sua primeira app AndroidConexao Java - Sua primeira app Android
Conexao Java - Sua primeira app Android
Suelen Carvalho
 
7 Masters sobre Android
7 Masters sobre Android7 Masters sobre Android
7 Masters sobre Android
Suelen Carvalho
 
A história do surgimento da plataforma móvel Android.
A história do surgimento da plataforma móvel Android.A história do surgimento da plataforma móvel Android.
A história do surgimento da plataforma móvel Android.
Suelen Carvalho
 
O fantástico mundo de Android
O fantástico mundo de AndroidO fantástico mundo de Android
O fantástico mundo de AndroidSuelen Carvalho
 

More from Suelen Carvalho (20)

Porque Métodos Ágeis não é pra você!
Porque Métodos Ágeis não é pra você!Porque Métodos Ágeis não é pra você!
Porque Métodos Ágeis não é pra você!
 
Scrum: Relembrando os por quês?
Scrum: Relembrando os por quês?Scrum: Relembrando os por quês?
Scrum: Relembrando os por quês?
 
Techtrends xp desafios da agilidade com trabalho remoto
Techtrends xp   desafios da agilidade com trabalho remotoTechtrends xp   desafios da agilidade com trabalho remoto
Techtrends xp desafios da agilidade com trabalho remoto
 
Introdução a Kotlin
Introdução a KotlinIntrodução a Kotlin
Introdução a Kotlin
 
Introdução a Android Instant Apps
Introdução a Android Instant AppsIntrodução a Android Instant Apps
Introdução a Android Instant Apps
 
Google IO'17
Google IO'17Google IO'17
Google IO'17
 
Construindo Times de Alta Performance - Produtos & Engenharia
Construindo Times de Alta Performance - Produtos & EngenhariaConstruindo Times de Alta Performance - Produtos & Engenharia
Construindo Times de Alta Performance - Produtos & Engenharia
 
Git Merge e Rebase - The goal and differences
Git Merge e Rebase - The goal and differencesGit Merge e Rebase - The goal and differences
Git Merge e Rebase - The goal and differences
 
Dynamic Programming and Reinforcement Learning applied to Tetris Game
Dynamic Programming and Reinforcement Learning applied to Tetris GameDynamic Programming and Reinforcement Learning applied to Tetris Game
Dynamic Programming and Reinforcement Learning applied to Tetris Game
 
Desenvolvimento de Novos Líderes - Paidéia Educação
Desenvolvimento de Novos Líderes - Paidéia EducaçãoDesenvolvimento de Novos Líderes - Paidéia Educação
Desenvolvimento de Novos Líderes - Paidéia Educação
 
O sucesso do seu app está nos detalhes!
O sucesso do seu app está nos detalhes!O sucesso do seu app está nos detalhes!
O sucesso do seu app está nos detalhes!
 
Go lang
Go langGo lang
Go lang
 
Intercon Android 2014 - Google Play In App Billing
Intercon Android 2014 - Google Play In App BillingIntercon Android 2014 - Google Play In App Billing
Intercon Android 2014 - Google Play In App Billing
 
Semana da Computação USP São Carlos 2014 - Carreira Mobile
Semana da Computação USP São Carlos 2014 - Carreira MobileSemana da Computação USP São Carlos 2014 - Carreira Mobile
Semana da Computação USP São Carlos 2014 - Carreira Mobile
 
TDC 2014 - Tudo sobre GCM Push Notifications
TDC 2014 - Tudo sobre GCM Push NotificationsTDC 2014 - Tudo sobre GCM Push Notifications
TDC 2014 - Tudo sobre GCM Push Notifications
 
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...
Mobile Conf 2014 - Sua carreira e o que o desenvolvimento mobile tem a ver co...
 
Conexao Java - Sua primeira app Android
Conexao Java - Sua primeira app AndroidConexao Java - Sua primeira app Android
Conexao Java - Sua primeira app Android
 
7 Masters sobre Android
7 Masters sobre Android7 Masters sobre Android
7 Masters sobre Android
 
A história do surgimento da plataforma móvel Android.
A história do surgimento da plataforma móvel Android.A história do surgimento da plataforma móvel Android.
A história do surgimento da plataforma móvel Android.
 
O fantástico mundo de Android
O fantástico mundo de AndroidO fantástico mundo de Android
O fantástico mundo de Android
 

Recently uploaded

Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 

Recently uploaded (20)

Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 

Supporting Coding and Testing

  • 1. codingAND testing SUPPORTING Suelen G. Carvalho Departamento de Ciência da Computação - Instituto de Matemática e Estatística - Universidade de São Paulo
  • 2. We will discuss about… How to improve the environment for coding and testing of software
  • 3. article Finding Causes of Program Output with the Java Whyline Finding Causes of Program Output with the Java Whyline. Andrew Ko Brad A. Myers University of Washington Carnegie Mellon University 2009
  • 4. A painting program 500 lines of Java code a few bugs to fix The problem: Find and fix bugs
  • 5. How to fix it? In the study, users took a median of 10 minutes to find the problem, mostly using text searches for "color" to find relevante code.
  • 6. How to fix it? In the study, users took a median of minutes using find relevante code. debugging is hypotesis-driven
  • 7. The proposal to improve debugging software: Whyline not only avoid the speculation about the cause of a failure, but also simplifies the exploration of code responsible for the output.
  • 8. Whyline is a debugging tool that allows programmers to ask "Why did" and "Why didn't" questions about their program's output. http://www.cs.cmu.edu/~NatProg/whyline.html
  • 10.
  • 11. Conclusions: The number of successful participants and time on task Task 1 Task 2
  • 12. Limitations: Our sample was small and may not be representative of Java users… …caution should be exercised in applying our results to situations in which a developer is more closely familiar with the code being debugged.
  • 13. Similar tools: http://chrononsystems.com/products/chronon-time-travelling-debugger ReplayDIRECTOR for Java EE http://eclipsediver.wordpress.com/ Omniscient Debugging http://www.lambdacs.com/debugger/ JIVE http://www.cse.buffalo.edu/jive/ http://www.replaysolutions.com/products/replaydirector-for-java-ee
  • 14. article Collabode: Collaborative Coding in the Browser Max Goldman Greg Little MIT CSAIL 2011 Robert C. Miller MIT CSAIL MIT CSAIL
  • 15. The problem: Improve development environment to collaborate micro outsourcing test-drive pair programming To the classroom and beyond
  • 16. How to improve that? Collaborating programmers should use a development environment designed specifically for collaboration…
  • 17. The proposal to improve collaborative development: ! In Collabode changes by multiple programmers can be shared immediately, and each programmer can use a different interface…
  • 18. Collabode is a web-based Java IDE for close, synchronous collaboration between programmers. https://github.com/uid/collabode
  • 20.
  • 21. Similar tools: http://sketchpad.cc/ https://mozillalabs.com/en-US/skywriter/ http://codemirror.net/ http://www.ymacs.org/ http://jsfiddle.net/ https://c9.io/
  • 22. article Code Bubbles: Rethinking the User Interface Paradigm of Integrated Development Environments Andrew Bragdon, Steven P. Reiss, Robert Zeleznik, Suman Karumuri, William Cheung, Joshua Kaplan, Christopher Coleman, Ferdi Adeputra, Joseph J. LaViola Jr. 2010
  • 23. The problem: Improve code navigation Programmers spend between 60-90% of their time reading and navigating code and other data sources
  • 25. How to improve that? …a new approach, where the IDE shows multiple editable fragments simultaneously, letting the user see and work with complete working sets
  • 26. The proposal to improve code navigation: The design of a novel IDE user interface, and associated development tools, based on working sets of bubbles that has the potential to improve a broad range of development tasks.
  • 27. Code Bubble is a IDE based on bubbles to turn better navigating into code.
  • 30. Conclusion: A further quantitative evaluation showed that users were able to perform complex code understanding tasks significantly more efficiently when using bubbles than when using Eclipse due to reduced navigation
  • 31. Dúvidas Departamento de Ciência da Computação - Instituto de Matemática e Estatística - Universidade de São Paulo