Improving the productivity of software developers
|
|
- Allen Kristopher Berry
- 8 years ago
- Views:
Transcription
1 Improving the productivity of software developers Lecture 1 - What recommenders can be built? Gail C. Murphy University of British Columbia Tasktop 1 Laser Summer School Lecture 1
2 a recommendation system for SE is a software application that provides information items estimated to be valuable for a software engineering task in a given context Robillard, Walker and Zimmermann, Recommendation systems for software engineering, IEEE Software 27(4), 80-86,
3 a recommendation system for SE is a software application that provides information items estimated to be valuable for a software engineering task in a given context Robillard, Walker and Zimmermann, Recommendation systems for software engineering, IEEE Software 27(4), 80-86,
4 various ways to think about the space of SE recommenders a software application that provides information items estimated to be valuable for a software engineering task in a given context Robillard, Walker and Zimmermann, Recommendation systems for software engineering, IEEE Software 27(4), 80-86,
5 information spaces source code reusable software components (e.g., APIs) project history (e.g., version control) software process information (e.g., issues) interaction information web information 5
6 intent consider the range of recommenders to aid software development tasks that have been investigated consider characteristics of recommenders and their use that will underly remaining lectures representative examples not indicative of all SE recommenders that have been built! For more examples, see: Recommendation Systems in Software Engineering edited by Robillard, Maalej, Walker and Zimmermann, Springer,
7 source code 7
8 examples of recommenders based on source code quick fixes code completion refactoring (e.g., jdeodorant) program transformation some questions to consider for each: 1. how are recommendations generated? 2. how accurate are the recommendations? 3. how hard is it to determine which recommendation to take? 4. how easy is it to back out of a wrong choice? Image from: 8
9 quick fix 9
10 quick fix 10
11 quick fix some questions to consider for each: 1. how are recommendations generated? 2. how accurate are the recommendations? 3. how hard is it to determine which recommendation to take? 4. how easy is it to back out of a wrong choice? 11
12 code completion 12
13 refactoring (e.g., jdeodorant) identify Feature Envy smells in Java code generate movemethod refactorings to reduce smell! [Fokaefs et al 2007] 13
14 program transformation provide examples of similar changes made to source generate edit script (programming by demonstration) recommend similar code apply edit script LASE approach and tool [Meng et al 2013] 14
15 code recommendation summary disclaimer: accuracy are as reported but we aren t giving experimental context here so tread carefully. Selecting and undoing are subjective. recommender generation accuracy selecting undoing quick fix heuristic high but not quantified expertise required limits of undo code completion jdeodorant (refactoring) type information heuristic metric 100% often easy easy?? easy difficult LASE (transformation) AST precision often 100% expert difficult 15
16 reusable software components 16
17 examples of recommenders based on reusable software components FrUiT Strathcona CodeBroker Image from: EEWeb.com 17
18 FrUiT support the usage of frameworks! 1. extract structural relations from applications using an API 2. use association rule mining to identify structural relations that are commonly used 3. recommend all rules that mention any of the source code entities in the current file in the editor 18 [Bruch et al 2006]
19 FrUiT [Bruch et al 2006] 19
20 Strathcona find examples of API use! 1. build a db of structural relations from example code 2. if developer needs help, extract context from developer s existing code 3. query db with context 4. use heuristics to match examples (similarity of structural relations) 5. return examples as UML class diagram fragments [Holmes & Murphy, 2005] 20
21 Strathcona [Holmes & Murphy, 2005] 21
22 Codebroker help develop new methods based on similar existing ones! 1. monitor methods being written and extract words used in comments, signature and types 2. use LSA to match to existing methods modelled similarly 3. filter matches based on similarity of types 4. recommend most similar! [Ye & Fischer 2005] 22
23 Codebroker [Ye & Fischer 2005] 23
24 api recommendation summary disclaimer: accuracy are as reported but we aren t giving experimental context here so tread carefully. Selecting and undoing are subjective. recommender generation accuracy selecting undoing FrUiT associate rule mining ~85% expertise required limits of undo Strathcona heuristic case study eval difficult limits of undo Codebroker LSA high of ~35% easy difficult 24
25 project history 25
26 examples of recommenders based on project history erose expertise recommender Image from: EEWeb.com 26
27 erose recommend program elements likely to change together 1. mine the version control system to form rules of which elements commonly change together 2. when a developer changes element e, find all rules with e and suggest any other elements that usually change with e [Zimmermann et al 2004] 27
28 28
29 expertise recommender use who changed the file to determine who is an expert in the file [McDonald & Ackerman 2000] 29
30 software process information 30
31 examples of recommenders based on software process information who should fix this bug Image from 31
32 who should fix this bug? 32
33 who should fix this bug? during bug triage, a bug needs to be assigned use machine learning to determine which values in the bug fields suggest particular developers to fix the bug [Anvik & Murphy 2006] 33
34 interaction information 34
35 examples of recommenders based on interaction information Eclipse Mylyn command recommendation Image from: EEWeb.com 35
36 examples of recommenders based on interaction information Eclipse Mylyn command recommendation interaction history is! a sequential record of the! commands, artifacts, etc.! that a developer! has interacted with Image from: EEWeb.com 36
37 Eclipse Mylyn track the program elements associated with each task performed to ease recall, sharing, code recommendations, etc. 37 [Kersten & Murphy 2006]
38 38
39 command recommenders recommend new commands in a development environment that a developer is not using yet many peers are! requires interaction data from the crowd! requires interaction data from a user! many algorithms possible, several based on collaborative filtering [Murphy-Hill et al 2012] 39
40 web information 40
41 examples of recommenders based on web information Reverb 41
42 Reverb 23% of all revisits of web pages by developers are related to code Reverb recommends the web pages to revisit [Sawadsky et al 2013] 42
43 summary disclaimer: accuracy are as reported but we aren t giving experimental context here so tread carefully. Selecting and undoing are subjective. (non-code, non-api) recommender generation accuracy selecting undoing erose expertise recommender who should fix this bug Eclipse Mylyn command recommenders association rules heuristic & metrics machine learning degree-ofinterest (SVM) collaborative filtering ~26% moderate easy no data easy not applicable ~40% moderate moderate 100% recall easy easy ~20% easy easy Reverb heuristic ~40% easy easy 43
44 summary wide range of recommenders have been built, lots of room for more to be built techniques used to generate vary substantially accuracy varies greatly (can only be assessed in context of a task) what s next? common technique overview (lectures 2 & 3) how to deliver recommendations (lecture 4) how to evaluate a recommender (lecture 5) 44
45 references Anvik & Murphy. Who should fix this bug? ICSE 2006.! Bruch, Schäfer, & Mezini. FrUiT: IDE support for framework understanding. ETX 2006.! Fokaefs, Tsantalis & Chatzigeorgiou, jdeodorant: identification and removal of feature envy bad smells. ICSM 07.! Holmes & Murphy, Using structural context to recommend source code examples. ICSE 2005.! Kertsen & Murphy. Using a task context to improve programmer productivity. FSE 2006.! Meng, Kim & McKinley. LASE: locating and applying systematic edits by learning from examples. ICSE McDonald & Ackerman. Expertise recommender: a flexible recommendation system and architecture. CSCW 2000.! Murphy-Hill, Jiresal and Murphy. Improving software developers fluency by recommending development environment commands. FSE 2012.! Robillard, Walker and Zimmermann. Recommendation systems for software engineering, IEEE Software 27(4), 80-86, 2010.! Robillard, Maalej, Walker and Zimmerann (editors). Recommendation Systems in Software Engineering, Springer Sawadsky, Jiresal and Murphy. Reverb: Recommending code-related web pages. ICSE 2013.! Ye & Fischer. Reuse-conducive development environments. Automat. SE Int J., Zimmermann, Weissgerber, Diehl and Zeller. Mining version histories to guide changes. ICSE
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 informationAn Introduction to Recommendation Systems in Software Engineering
Chapter 1 An Introduction to Recommendation Systems in Software Engineering Martin P. Robillard and Robert J. Walker Abstract. Software engineering is a knowledge-intensive activity that presents many
More informationDoes a Programmer s Activity Indicate Knowledge of Code? Software Engineering Seminar 2010
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
More informationAssisting bug Triage in Large Open Source Projects Using Approximate String Matching
Assisting bug Triage in Large Open Source Projects Using Approximate String Matching Amir H. Moin and Günter Neumann Language Technology (LT) Lab. German Research Center for Artificial Intelligence (DFKI)
More informationDeveloper's Expertise in Software Development
Automatic Estimation of Software Developer s Expertise Eduard Kuric Institute of Informatics, Information Systems and Software Engineering Faculty of Informatics and Information Technologies Slovak University
More informationSpontaneous 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 informationA 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 informationCapturing and Analyzing Low Level Events from the Code Editor
Capturing and Analyzing Low Level Events from the Code Editor YoungSeok Yoon Institute for Software Research Carnegie Mellon University Pittsburgh, PA, USA youngseok@cs.cmu.edu Brad A. Myers Human Computer
More informationAssisting bug Triage in Large Open Source Projects Using Approximate String Matching
Assisting bug Triage in Large Open Source Projects Using Approximate String Matching Amir H. Moin and Günter Neumann Language Technology (LT) Lab. German Research Center for Artificial Intelligence (DFKI)
More informationDoes the Act of Refactoring Really Make Code Simpler? A Preliminary Study
Does the Act of Refactoring Really Make Code Simpler? A Preliminary Study Francisco Zigmund Sokol 1, Mauricio Finavaro Aniche 1, Marco Aurélio Gerosa 1 1 Department of Computer Science University of São
More informationA 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 informationHome 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 informationMining the Software Change Repository of a Legacy Telephony System
Mining the Software Change Repository of a Legacy Telephony System Jelber Sayyad Shirabad, Timothy C. Lethbridge, Stan Matwin School of Information Technology and Engineering University of Ottawa, Ottawa,
More informationPattern Insight Clone Detection
Pattern Insight Clone Detection TM The fastest, most effective way to discover all similar code segments What is Clone Detection? Pattern Insight Clone Detection is a powerful pattern discovery technology
More informationTowards Software Configuration Management for Test-Driven Development
Towards Software Configuration Management for Test-Driven Development Tammo Freese OFFIS, Escherweg 2, 26121 Oldenburg, Germany tammo.freese@offis.de Abstract. Test-Driven Development is a technique where
More informationBug Localization Using Revision Log Analysis and Open Bug Repository Text Categorization
Bug Localization Using Revision Log Analysis and Open Bug Repository Text Categorization Amir H. Moin and Mohammad Khansari Department of IT Engineering, School of Science & Engineering, Sharif University
More informationAn Empirical Study on Recommendations of Similar Bugs
An Empirical Study on Recommendations of Similar Bugs Henrique Rocha, Marco Tulio Valente, Humberto Marques-Neto, and Gail C. Murphy Federal University of Minas Gerais, Brazil Pontifical Catholic University
More informationAn Approach for Extracting Modules from Monolithic Software Architectures
An Approach for Extracting Modules from Monolithic Software Architectures Ricardo Terra, Marco Túlio Valente, Roberto S. Bigonha Universidade Federal de Minas Gerais, Brazil {terra,mtov,bigonha@dcc.ufmg.br
More informationSQA-Profiles: Rule-Based Activity Profiles for Continuous Integration Environments
SQA-Profiles: Rule-Based Activity Profiles for Continuous Integration Environments Martin Brandtner, Sebastian C. Müller, Philipp Leitner, and Harald C. Gall University of Zurich, Department of Informatics,
More informationImproving Software Developers Fluency by Recommending Development Environment Commands
Improving Software Developers Fluency by Recommending Development Environment Commands ABSTRACT Emerson Murphy-Hill Department of Computer Science North Carolina State University Raleigh, North Carolina
More informationSpeculative Analysis: Exploring Future Development States of Software
Speculative Analysis: Exploring Future Development States of Software Yuriy Brun, Reid Holmes, Michael D. Ernst, David Notkin Computer Science & Engineering School of Computer Science University of Washington
More informationTracking Software Changes: A Framework and Examples of Applications
Tracking Software Changes: A Framework and Examples of Applications Massimiliano Di Penta Dept. Of Engineering University of Sannio, Benevento (Italy) dipenta@unisannio.it Outline Fine-grained historical
More informationNextBug: A Tool for Recommending Similar Bugs in Open-Source Systems
NextBug: A Tool for Recommending Similar Bugs in Open-Source Systems Henrique S. C. Rocha 1, Guilherme A. de Oliveira 2, Humberto T. Marques-Neto 2, Marco Túlio O. Valente 1 1 Department of Computer Science
More informationDuplicate Bug Reports Considered Harmful... Really?
Duplicate Bug Reports Considered Harmful... Really? Nicolas Bettenburg Saarland University nicbet@st.cs.uni-sb.de Rahul Premraj Saarland University premraj@cs.uni-sb.de Thomas Zimmermann University of
More informationSupporting Software Development Process Using Evolution Analysis : a Brief Survey
Supporting Software Development Process Using Evolution Analysis : a Brief Survey Samaneh Bayat Department of Computing Science, University of Alberta, Edmonton, Canada samaneh@ualberta.ca Abstract During
More informationColligens: A Tool to Support the Development of Preprocessor-based Software Product Lines in C
Colligens: A Tool to Support the Development of Preprocessor-based Software Product Lines in C Flávio Medeiros 1, Thiago Lima 2, Francisco Dalton 2, Márcio Ribeiro 2, Rohit Gheyi 1, Baldoino Fonseca 2
More informationModeling Context in Software Reuse
Modeling Context in Software Reuse Eduardo Cruz 1, Vaninha Vieira 1, Eduardo S. de Almeida 1, Sílvio R. L. Meira 1, Ana Carolina Salgado 1, Patrick Brézillon 2 Informatics Center Federal University of
More informationFine-grained Incremental Learning and Multi-feature Tossing Graphs to Improve Bug Triaging
Fine-grained Incremental Learning and Multi-feature Tossing Graphs to Improve Bug Triaging Pamela Bhattacharya Iulian Neamtiu Department of Computer Science and Engineering University of California, Riverside
More informationAPPLYING CASE BASED REASONING IN AGILE SOFTWARE DEVELOPMENT
APPLYING CASE BASED REASONING IN AGILE SOFTWARE DEVELOPMENT AIMAN TURANI Associate Prof., Faculty of computer science and Engineering, TAIBAH University, Medina, KSA E-mail: aimanturani@hotmail.com ABSTRACT
More informationIDE 2.0: Collective Intelligence in Software Development
IDE 2.0: Collective Intelligence in Software Development Marcel Bruch, Eric Bodden, Martin Monperrus, and Mira Mezini Software Technology Group Department of Computer Science Technische Universität Darmstadt,
More informationBug Localization Using Revision Log Analysis and Open Bug Repository Text Categorization
Bug Localization Using Revision Log Analysis and Open Bug Repository Text Categorization Amir H. Moin and Mohammad Khansari Department of IT Engineering, School of Science & Engineering, Sharif University
More informationIntegrating Service Oriented MSR Framework and Google Chart Tools for Visualizing Software Evolution
2012 Fourth International Workshop on Empirical Software Engineering in Practice Integrating Service Oriented MSR Framework and Google Chart Tools for Visualizing Software Evolution Yasutaka Sakamoto,
More informationNirikshan: Process Mining Software Repositories to Identify Inefficiencies, Imperfections, and Enhance Existing Process Capabilities
Nirikshan: Process Mining Software Repositories to Identify Inefficiencies, Imperfections, and Enhance Existing Process Capabilities Monika Gupta monikag@iiitd.ac.in PhD Advisor: Dr. Ashish Sureka Industry
More informationRecommending change clusters to support software investigation: an empirical study
JOURNAL OF SOFTWARE MAINTENANCE AND EVOLUTION: RESEARCH AND PRACTICE J. Softw. Maint. Evol.: Res. Pract. 2010; 22:143 164 Published online 9 September 2009 in Wiley InterScience (www.interscience.wiley.com)..413
More informationSemantic Jira - Semantic Expert Finder in the Bug Tracking Tool Jira
Semantic Jira - Semantic Expert Finder in the Bug Tracking Tool Jira Velten Heyn and Adrian Paschke Corporate Semantic Web, Institute of Computer Science, Koenigin-Luise-Str. 24, 14195 Berlin, Germany
More informationIndustrial Application of Clone Change Management System
Industrial Application of Clone Change Management System Yuki Yamanaka, Eunjong Choi, Norihiro Yoshida, Katsuro Inoue, Tateki Sano Graduate School of Information Science and Technology, Osaka University,
More informationPrinciples of integrated software development environments. Learning Objectives. Context: Software Process (e.g. USDP or RUP)
Principles of integrated software development environments Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Learning Objectives Be able to define the
More informationTracking the Impact of Design Changes During Software Development
Tracking the Impact of Design Changes During Software Development Frank Padberg Fakultät für Informatik Universität Karlsruhe, Germany padberg@ira.uka.de Abstract Design changes occur frequently during
More informationQualitySpy: a framework for monitoring software development processes
Journal of Theoretical and Applied Computer Science Vol. 6, No. 1, 2012, pp. 35-45 ISSN 2299-2634 http://www.jtacs.org QualitySpy: a framework for monitoring software development processes Marian Jureczko,
More informationEfficient Bug Triaging Using Text Mining
2185 Efficient Bug Triaging Using Text Mining Mamdouh Alenezi and Kenneth Magel Department of Computer Science, North Dakota State University Fargo, ND 58108, USA Email: {mamdouh.alenezi, kenneth.magel}@ndsu.edu
More informationClassification Algorithms for Detecting Duplicate Bug Reports in Large Open Source Repositories
Classification Algorithms for Detecting Duplicate Bug Reports in Large Open Source Repositories Sarah Ritchey (Computer Science and Mathematics) sritchey@student.ysu.edu - student Bonita Sharif (Computer
More informationTSRR: A Software Resource Repository for Trustworthiness Resource Management and Reuse
TSRR: A Software Resource Repository for Trustworthiness Resource Management and Reuse Junfeng Zhao 1, 2, Bing Xie 1,2, Yasha Wang 1,2, Yongjun XU 3 1 Key Laboratory of High Confidence Software Technologies,
More informationA MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS USING A MACHINE ALGORITHM
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS USING A MACHINE ALGORITHM Gauri Khurana 1 and Sonika Jindal 2 1 Student, Department of Computer Science, Shaheed Bhagat Singh
More informationTracing 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 informationEmpirical Project Monitor: A Tool for Mining Multiple Project Data
Empirical Project Monitor: A Tool for Mining Multiple Project Data Masao Ohira, Reishi Yokomori, Makoto Sakai, Ken-ichi Matsumoto, Katsuro Inoue, Koji Torii Nara Institute of Science and Technology ohira@empirical.jp,
More informationSupporting Group Awareness in Distributed Software Development
Supporting Group Awareness in Distributed Software Development Carl Gutwin, Kevin Schneider, David Paquette, and Reagan Penner Department of Computer Science, University of Saskatchewan Computer Science
More informationMining Software Repositories for Software Change Impact Analysis: A Case Study
Mining Software Repositories for Software Change Impact Analysis: A Case Study Lile Hattori 1, Gilson dos Santos Jr. 2, Fernando Cardoso 2, Marcus Sampaio 2 1 Faculty of Informatics University of Lugano
More informationHow To Write A Rulebook In Anib Websphere Jrules
Jerome Boyer Hafedh Mili Agile Business Rule Development Process, Architecture, and JRules Examples 4y Springer Contents Part I Introduction 1 Introduction to Business Rules 3 1.1 What Are Business Rules?
More informationIt s not a Bug, it s a Feature: How Misclassification Impacts Bug Prediction
It s not a Bug, it s a Feature: How Misclassification Impacts Bug Prediction Kim Herzig Saarland University Saarbrücken, Germany herzig@cs.uni-saarland.de Sascha Just Saarland University Saarbrücken, Germany
More informationHow We Refactor, and How We Know It
How We Refactor, and How We Know It Emerson Murphy-Hill Portland State University emerson@cs.pdx.edu Chris Parnin Georgia Institute of Technology chris.parnin@gatech.edu Andrew P. Black Portland State
More informationChange Impact Analysis with Stochastic Dependencies
Change Impact Analysis with Stochastic Dependencies Sunny Wong, Yuanfang Cai, and Michael Dalton Drexel University Philadelphia, PA, USA {sunny, yfcai, mcd45}@cs.drexel.edu ABSTRACT Researchers have shown
More informationGénie Logiciel et Gestion de Projets. Evolution
Génie Logiciel et Gestion de Projets Evolution 1 Roadmap Evolution: definitions Re-engineering Legacy systems Reverse engineering Software Visualisation Re-engineering Patterns 2 Evolution: Definitions
More informationProgram Understanding in Software Engineering
Taming the complexity: The need for program understanding in software engineering Raghvinder S. Sangwan, Ph.D. Pennsylvania State University, Great Valley School of Graduate Professional Studies Robert
More informationLecture 2 - Design. 1) Why would you want to make a radical problem normal? We know how to solve normal problems already.
Lecture 2 - Design 1) Why would you want to make a radical problem normal? We know how to solve normal problems already. Lecture 3 - Context 1) What are the 4 criteria for design analysis? a) Fitness for
More informationRole of Functional Clones in Software Development
ISBN 978-93-84468-20-0 Proceedings of 2015 International Conference on Future Computational Technologies (ICFCT'2015) Singapore, March 29-30, 2015, pp. 41-47 Role of Functional in Software Development
More informationAn Eclipse Plugin to Support Code Smells Detection
An Eclipse Plugin to Support Code Smells Detection Tiago Pessoa 1, Fernando Brito e Abreu 2,1, Miguel Pessoa Monteiro 3,1, Sérgio Bryton 1 1 CITI/FCT/UNL, Campus da Caparica, 2829-516 Caparica, Portugal
More informationEmpirical study of software quality evolution in open source projects using agile practices
1 Empirical study of software quality evolution in open source projects using agile practices Alessandro Murgia 1, Giulio Concas 1, Sandro Pinna 1, Roberto Tonelli 1, Ivana Turnu 1, SUMMARY. 1 Dept. Of
More informationAgile Development with C#
Agile Development with C# Paweł Jarosz, pjarosz@pk.edu.pl Cracow University of Technology, Poland Jyvaskyla University of Applied Sciences, February 2009 Paweł Jarosz who am I? M.Sc. of Applied Physics
More informationSERG. Evaluating the Lifespan of Code Smells using Software Repository Mining
Delft University of Technology Software Engineering Research Group Technical Report Series Evaluating the Lifespan of Code Smells using Software Repository Mining Ralph Peters, Andy Zaidman Report TUD-SERG-2012-003
More informationVISUALIZATION APPROACH FOR SOFTWARE PROJECTS
Canadian Journal of Pure and Applied Sciences Vol. 9, No. 2, pp. 3431-3439, June 2015 Online ISSN: 1920-3853; Print ISSN: 1715-9997 Available online at www.cjpas.net VISUALIZATION APPROACH FOR SOFTWARE
More informationIs It Dangerous to Use Version Control Histories to Study Source Code Evolution?
Is It Dangerous to Use Version Control Histories to Study Source Code Evolution? Stas Negara, Mohsen Vakilian, Nicholas Chen, Ralph E. Johnson, and Danny Dig Department of Computer Science University of
More informationAn Empirical Investigation into the Role of API-Level Refactorings during Software Evolution
An Empirical Investigation into the Role of API-Level Refactorings during Software Evolution ABSTRACT Miryung Kim The University of Texas at Austin Austin TX miryung@ece.utexas.edu It is widely believed
More information25 november 2008. SAAB Training Systems SESAM - Nov 2008, Göran Calås
1 Projekthantering vid MDE Konfigurations och projekt/linjestyrning med Model-Driven Engineering Göran Calås Project Manager Systems Architect Nov 20, 2008 goran.calas@saabgroup.com +46 768 967167 2 Göran
More informationConcern Highlight: A Tool for Concern Exploration and Visualization
Concern Highlight: A Tool for Concern Exploration and Visualization Eugen C. Nistor André van der Hoek Department of Informatics School of Information and Computer Sciences University of California, Irvine
More informationEnriching SE Ontologies with Bug Report Quality
Enriching SE Ontologies with Bug Report Quality Philipp Schuegerl 1, Juergen Rilling 1, Philippe Charland 2 1 Department of Computer Science and Software Engineering, Concordia University, Montreal, Canada
More informationAutomatic bug triage using text categorization
Automatic bug triage using text categorization Davor Čubranić Department of Computer Science University of British Columbia 201 2366 Main Mall Vancouver, BC, V6T 1Z4 cubranic@cs.ubc.ca Gail C. Murphy Department
More informationEvaluating 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 informationProfiling and Testing with Test and Performance Tools Platform (TPTP)
Profiling and Testing with Test and Performance Tools Platform (TPTP) 2009 IBM Corporation and Intel Corporation; made available under the EPL v1.0 March, 2009 Speakers Eugene Chan IBM Canada ewchan@ca.ibm.com
More informationSupporting Natural Language Queries across the Requirements Engineering Process
Supporting Natural Language Queries across the Requirements Engineering Process Sugandha Lohar School of Computing DePaul University, Chicago, IL, 60604, USA slohar@cs.depaul.edu Abstract. [Context and
More informationMigrating an Identity Resolution software to open source
Migrating an Identity Resolution software to open source www.xoriant.com Client Overview Our client is a leading developer and provider of identity resolution (entity analytics) software for government
More informationDescription. Benefits. Requirements. Selection process. Duration
PHP development Be part of a team that implements a web application displaying products from different affiliate platforms using their available API s. The application is developed using PhalconPHP framework
More informationIntroduction (Apps and the Android platform)
Introduction (Apps and the Android platform) CE881: Mobile and Social Application Programming Simon Lucas & Spyros Samothrakis January 13, 2015 1 / 38 1 2 3 4 2 / 38 Course Structure 10 weeks Each week:
More informationAugmenting software development with information scripting
Augmenting software development with information scripting Master Thesis Description Lukas Vogel luvogel@student.ethz.ch May 26, 2015 1 Introduction Today s large software projects are associated with
More informationAgile Software Engineering, a proposed extension for in-house software development
Journal of Information & Communication Technology Vol. 5, No. 2, (Fall 2011) 61-73 Agile Software Engineering, a proposed extension for in-house software development Muhammad Misbahuddin * Institute of
More informationBUGMINER: Software Reliability Analysis Via Data Mining of Bug Reports
BUGMINER: Software Reliability Analysis Via Data Mining of Bug Reports Leon Wu Boyi Xie Gail Kaiser Rebecca Passonneau Department of Computer Science Columbia University New York, NY 10027 USA {leon,xie,kaiser,becky}@cs.columbia.edu
More informationCSC408H Lecture Notes
CSC408H Lecture Notes These lecture notes are provided for the personal use of students taking Software Engineering course in the Summer term 2005 at the University of Toronto. Copying for purposes other
More informationSoftware 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 informationWho Should Fix This Bug?
Who Should Fix This Bug? John Anvik, Lyndon Hiew and Gail C. Murphy Department of Computer Science University of British Columbia {janvik, lyndonh, murphy}@cs.ubc.ca ABSTRACT Open source development projects
More informationJRefleX: Towards Supporting Small Student Software Teams
JRefleX: Towards Supporting Small Student Software Teams Kenny Wong, Warren Blanchet, Ying Liu, Curtis Schofield, Eleni Stroulia, Zhenchang Xing Department of Computing Science University of Alberta {kenw,blanchet,yingl,schofiel,stroulia,xing}@cs.ualberta.ca
More informationAnimated Visualization of Software History using Evolution Storyboards
Animated Visualization of Software History using Evolution Storyboards Dirk Beyer EPFL, Switzerland Ahmed E. Hassan University of Victoria, Canada Abstract The understanding of the structure of a software
More informationIntelligent Analysis of User Interactions in a Collaborative Software Engineering Context
Intelligent Analysis of User Interactions in a Collaborative Software Engineering Context Alejandro Corbellini 1,2, Silvia Schiaffino 1,2, Daniela Godoy 1,2 1 ISISTAN Research Institute, UNICEN University,
More information9/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 informationQuality Assurance of Software Models within Eclipse using Java and OCL
Quality Assurance of Software Models within Eclipse using Java and OCL Dr. Thorsten Arendt Modellgetriebene Softwareentwicklung mobiler Anwendungen Wintersemester 2014/15 17. Dezember 2014 Outline Why
More informationPercerons: A web-service suite that enhance software development process
Percerons: A web-service suite that enhance software development process Percerons is a list of web services, see http://www.percerons.com, that helps software developers to adopt established software
More informationSoftware Visualization Tools for Component Reuse
Software Visualization Tools for Component Reuse Craig Anslow Stuart Marshall James Noble Robert Biddle 1 School of Mathematics, Statistics and Computer Science, Victoria University of Wellington, New
More informationInformation Management
Information Management Dr Marilyn Rose McGee-Lennon mcgeemr@dcs.gla.ac.uk What is Information Management about Aim: to understand the ways in which databases contribute to the management of large amounts
More informationASSISTING REFACTORING TOOL DEVELOPMENT THROUGH REFACTORING CHARACTERIZATION
ASSISTING REFACTORING TOOL DEVELOPMENT THROUGH REFACTORING CHARACTERIZATION Raúl Marticorena, Carlos López Language and Informatic Systems, University of Burgos, EPS Campus Vena Edificio C, Burgos, Spain
More informationThe way to good code
Refactoring from handcraft to machines August 14, 2007 And not about silly star wars toys! Agenda 1 Introduction 2 Bad Code 3 Refactoring 4 Thanks and Questions Who we are Mirko Stocker Leo Büttiker Studied
More informationB API Usage Examples and Their Models
ExPort: Detecting and Visualizing API Usages in Large Source Code Repositories Evan Moritz 1, Mario Linares-Vásquez 1, Denys Poshyvanyk 1, Mark Grechanik 2, Collin McMillan 3, Malcom Gethers 4 1 The College
More informationDepartment of Veterans Affairs. Open Source Electronic Health Record (EHR) Services
Department of Veterans Affairs Open Source Electronic Health Record (EHR) Services Web Application Automated Testing Framework (WAATF) Software Design Document (SDD) Version 1.0 September 2013 Contract:
More informationAgile Techniques for Object Databases
db4o The Open Source Object Database Java and.net Agile Techniques for Object Databases By Scott Ambler 1 Modern software processes such as Rational Unified Process (RUP), Extreme Programming (XP), and
More informationSoftware Intelligence: The Future of Mining Software Engineering Data
Software Intelligence: The Future of Mining Software Engineering Data ABSTRACT Ahmed E. Hassan School of Computing Queen s University Kingston, ON, Canada ahmed@cs.queensu.ca Mining software engineering
More informationEditors Comparison (NetBeans IDE, Eclipse, IntelliJ IDEA)
České vysoké učení technické v Praze Fakulta elektrotechnická Návrh Uživatelského Rozhraní X36NUR Editors Comparison (NetBeans IDE, Eclipse, ) May 5, 2008 Goal and purpose of test Purpose of this test
More informationJSquash: Source Code Analysis of Embedded Database Applications for Determining SQL Statements
JSquash: Source Code Analysis of Embedded Database Applications for Determining SQL Statements Dietmar Seipel 1, Andreas M. Boehm 1, and Markus Fröhlich 1 University of Würzburg, Department of Computer
More informationCHAPTER 2 LITERATURE SURVEY
CHAPTER 2 LITERATURE SURVEY This chapter describes the survey of existing literature on multiple views. Later, it presents literature survey conducted on frameworks for tool comparison and stakeholder
More informationMining Logical Clones in Software: Revealing High-Level Business and Programming Rules
Mining Logical Clones in Software: Revealing High-Level Business and Programming Rules Wenyi Qian, Xin Peng, Zhenchang Xing, Stan Jarzabek, and Wenyun Zhao Software School, Fudan University, Shanghai,
More informationExploiting 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 informationApplication 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 informationAWERProcedia Information Technology & Computer Science
AWERProcedia Information Technology & Computer Science Vol 03 (2013) 1157-1162 3 rd World Conference on Information Technology (WCIT-2012) Webification of Software Development: General Outline and the
More informationFacilitating Students Collaboration and Learning in a Question and Answer System
Facilitating Students Collaboration and Learning in a Question and Answer System Chulakorn Aritajati Intelligent and Interactive Systems Laboratory Computer Science & Software Engineering Department Auburn
More information