Search For:

Displaying 1-50 out of 67 total
Crash graphs: An aggregated view of multiple crashes to improve crash triage
Found in: Dependable Systems and Networks, International Conference on
By Sunghun Kim,Thomas Zimmermann,Nachiappan Nagappan
Issue Date:June 2011
pp. 486-493
Crash reporting systems play an important role in the overall reliability and dependability of the system helping in identifying and debugging crashes in software systems deployed in the field. In Microsoft for example, the Windows Error Reporting (WER) sy...
 
The Many Faces of Software Analytics
Found in: IEEE Software
By Tim Menzies,Thomas Zimmermann
Issue Date:September 2013
pp. 28-29
Articles regarding the many faces of software analytics highlight the power of analytics for different types of organizations: large organizations and open source projects, as well as small- to medium-sized projects.
 
Software Analytics: So What?
Found in: IEEE Software
By Tim Menzies,Thomas Zimmermann
Issue Date:July 2013
pp. 31-37
The guest editors of this special issue of IEEE Software invited submissions that reflected the benefits (and drawbacks) of software analytics, an area of explosive growth. They had so many excellent submissions that they had to split this special issue in...
 
Change Bursts as Defect Predictors
Found in: Software Reliability Engineering, International Symposium on
By Nachiappan Nagappan, Andreas Zeller, Thomas Zimmermann, Kim Herzig, Brendan Murphy
Issue Date:November 2010
pp. 309-318
In software development, every change induces a risk. What happens if code changes again and again in some period of time? In an empirical study on Windows Vista, we found that the features of such change bursts have the highest predictive power for defect...
 
Have Agile Techniques been the Silver Bullet for Software Development at Microsoft?
Found in: 2013 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM)
By Brendan Murphy,Christian Bird,Thomas Zimmermann,Laurie Williams,Nachiappan Nagappan,Andrew Begel
Issue Date:October 2013
pp. 75-84
Background. The pressure to release high-quality, valuable software products at an increasingly faster rate is forcing software development organizations to adapt their development practices. Agile techniques began emerging in the mid-1990s in response to ...
 
The effect of branching strategies on software quality
Found in: 2012 6th International Symposium on Empirical Software Engineering and Measurement (ESEM)
By Emad Shihab,Christian Bird,Thomas Zimmermann
Issue Date:September 2012
pp. 301-310
Branching plays a major role in the development process of large software. Branches provide isolation so that multiple pieces of the software system can be modified in parallel without affecting each other during times of instability. However, branching ha...
 
Relating requirements to implementation via topic analysis: Do topics extracted from requirements make sense to managers and developers?
Found in: 2012 IEEE International Conference on Software Maintenance (ICSM)
By Abram Hindle,Christian Bird,Thomas Zimmermann,Nachiappan Nagappan
Issue Date:September 2012
pp. 243-252
Large organizations like Microsoft tend to rely on formal requirements documentation in order to specify and design the software products that they develop. These documents are meant to be tightly coupled with the actual implementation of the features they...
 
Local vs. global models for effort estimation and defect prediction
Found in: Automated Software Engineering, International Conference on
By Tim Menzies,Andrew Butcher,Andrian Marcus,Thomas Zimmermann,David Cok
Issue Date:November 2011
pp. 343-351
Data miners can infer rules showing how to improve either (a) the effort estimates of a project or (b) the defect predictions of a software module. Such studies often exhibit conclusion instability regarding what is the most effective action for different ...
 
An integration resolution algorithm for mining multiple branches in version control systems
Found in: Software Maintenance, IEEE International Conference on
By Alexander Tarvo,Thomas Zimmermann,Jacek Czerwonka
Issue Date:September 2011
pp. 402-411
The high cost of software maintenance necessitates methods to improve the efficiency of the maintenance process. Such methods typically need a vast amount of knowledge about a system, which is often mined from software repositories. Collecting this data be...
 
Security Trend Analysis with CVE Topic Models
Found in: Software Reliability Engineering, International Symposium on
By Stephan Neuhaus, Thomas Zimmermann
Issue Date:November 2010
pp. 111-120
We study the vulnerability reports in the Common Vulnerability and Exposures (CVE) database by using topic models on their description texts to find prevalent vulnerability types and new trends semi-automatically. In our study of the 39,393 unique CVEs unt...
 
What Makes a Good Bug Report?
Found in: IEEE Transactions on Software Engineering
By Thomas Zimmermann, Rahul Premraj, Nicolas Bettenburg, Sascha Just, Adrian Schröter, Cathrin Weiss
Issue Date:September 2010
pp. 618-643
In software development, bug reports provide crucial information to developers. However, these reports widely differ in their quality. We conducted a survey among developers and users of APACHE, ECLIPSE, and MOZILLA to find out what makes a good bug report...
 
Codebook: discovering and exploiting relationships in software repositories
Found in: Software Engineering, International Conference on
By Andrew Begel,Yit Phang Khoo,Thomas Zimmermann
Issue Date:May 2010
pp. 125-134
Large-scale software engineering requires communication and collaboration to successfully build and ship products. We conducted a survey with Microsoft engineers on inter-team coordination and found that the most impactful problems concerned finding and ke...
 
Characterizing and predicting which bugs get fixed: an empirical study of Microsoft Windows
Found in: Software Engineering, International Conference on
By Philip J. Guo,Thomas Zimmermann,Nachiappan Nagappan,Brendan Murphy
Issue Date:May 2010
pp. 495-504
We performed an empirical study to characterize factors that affect which bugs get fixed in Windows Vista and Windows 7, focusing on factors related to bug report edits and relationships between people involved in handling the bug. We found that bugs repor...
 
RSSE 2010: Second International Workshop on Recommendation Systems for Software Engineering
Found in: Software Engineering, International Conference on
By Reid Holmes,Martin P. Robillard,Robert J. Walker,Thomas Zimmermann
Issue Date:May 2010
pp. 455-456
The goal of this one-day workshop is to bring together researchers and practitioners with interest and experience in the theory, elaboration, and evaluation of concepts, techniques, and tools for providing recommendations to developers, managers, and other...
 
Searching for a Needle in a Haystack: Predicting Security Vulnerabilities for Windows Vista
Found in: Software Testing, Verification, and Validation, 2008 International Conference on
By Thomas Zimmermann, Nachiappan Nagappan, Laurie Williams
Issue Date:April 2010
pp. 421-428
Many factors are believed to increase the vulnerability of software system; for example, the more widely deployed or popular is a software system the more likely it is to be attacked. Early identification of defects has been a widely investigated topic in ...
 
Optimized assignment of developers for fixing bugs an initial evaluation for eclipse projects
Found in: Empirical Software Engineering and Measurement, International Symposium on
By Md. Mainur Rahman, Guenther Ruhe, Thomas Zimmermann
Issue Date:October 2009
pp. 439-442
Decisions on “Who should fix this bug” have substantial impact on the duration of the process and its results. In this paper, optimized strategies for the assignment of the “right” developers for doing the “right” task are studied and the results are compa...
 
Predicting defects with program dependencies
Found in: Empirical Software Engineering and Measurement, International Symposium on
By Thomas Zimmermann, Nachiappan Nagappan
Issue Date:October 2009
pp. 435-438
Software development is a complex and error-prone task. An important factor during the development of complex systems is the understanding of the dependencies that exist between different pieces of the code. In this paper, we show that for Windows Server 2...
 
Recommendation Systems for Software Engineering
Found in: IEEE Software
By Martin Robillard, Robert Walker, Thomas Zimmermann
Issue Date:July 2010
pp. 80-86
Software development can be challenging because of the large information spaces that developers must navigate. Without assistance, developers can become bogged down and spend a disproportionate amount of their time seeking information at the expense of oth...
 
Guest Editors' Introduction: Mining Software Archives
Found in: IEEE Software
By Nachiappan Nagappan, Andreas Zeller, Thomas Zimmermann
Issue Date:January 2009
pp. 24-25
Modern programming environments automatically collect lots of data on software development, notably changes and defects. The field of mining software archives is concerned with the automated extraction, collection, and abstraction of information from this ...
 
Towards the next generation of bug tracking systems
Found in: Visual Languages and Human-Centric Computing, IEEE Symposium on
By Sascha Just, Rahul Premraj, Thomas Zimmermann
Issue Date:September 2008
pp. 82-85
Developers typically rely on the information submitted by end-users to resolve bugs. We conducted a survey on information needs and commonly faced problems with bug reporting among several hundred developers and users of the APACHE, ECLIPSE and MOZILLA pro...
 
Do Crosscutting Concerns Cause Defects?
Found in: IEEE Transactions on Software Engineering
By Marc Eaddy, Thomas Zimmermann, Kaitlin D. Sherwood, Vibhav Garg, Gail C. Murphy, Nachiappan Nagappan, Alfred V. Aho
Issue Date:July 2008
pp. 497-515
There is a growing consensus that crosscutting concerns harm code quality. An example of a crosscutting concern is a functional requirement whose implementation is distributed across multiple software modules. We asked the question,
 
Predicting defects using network analysis on dependency graphs
Found in: Software Engineering, International Conference on
By Thomas Zimmermann, Nachiappan Nagappan
Issue Date:May 2008
pp. 531-540
In software development, resources for quality assurance are limited by time and by cost. In order to allocate resources effectively, managers need to rely on their experience backed by code complexity metrics. But often dependencies exist between various ...
 
Predicting Subsystem Failures using Dependency Graph Complexities
Found in: Software Reliability Engineering, International Symposium on
By Thomas Zimmermann, Nachiappan Nagappan
Issue Date:November 2007
pp. 227-236
In any software project, developers need to be aware of existing dependencies and how they affect their system. We investigated the architecture and dependencies of Windows Server 2003 to show how to use the complexity of a subsystem's dependency graph to ...
 
Building Software Cost Estimation Models using Homogenous Data
Found in: Empirical Software Engineering and Measurement, International Symposium on
By Rahul Premraj, Thomas Zimmermann
Issue Date:September 2007
pp. 393-400
Several studies have been conducted to determine if company-specific cost models deliver better prediction accuracy than cross-company cost models. However, mixed results have left the question still open for further investigation. We suspect this to be a ...
 
4th International Workshop on Mining Software Repositories (MSR 2007)
Found in: International Conference on Software Engineering Companion
By Harald Gall, Michele Lanza, Thomas Zimmermann
Issue Date:May 2007
pp. 107-108
Software repositories such as source control systems, defect tracking systems, and archived communications between project personnel are used to help manage the progress of software projects. Software practitioners and researchers more and more recognize t...
   
Predicting Faults from Cached History
Found in: Software Engineering, International Conference on
By Sunghun Kim, Thomas Zimmermann, E. James Whitehead Jr., Andreas Zeller
Issue Date:May 2007
pp. 489-498
We analyze the version history of 7 software systems to predict the most fault prone entities and files. The basic assumption is that faults do not occur in isolation, but rather in bursts of several related faults. Therefore, we cache locations that are l...
 
How Long Will It Take to Fix This Bug?
Found in: Mining Software Repositories, International Workshop on
By Cathrin Weiß, Rahul Premraj, Thomas Zimmermann, Andreas Zeller
Issue Date:May 2007
pp. 1
Predicting the time and effort for a software problem has long been a difficult task. We present an approach that automatically predicts the fixing effort, i.e., the person-hours spent on fixing an issue. Our technique leverages existing issue tracking sys...
 
Mining Workspace Updates in CVS
Found in: Mining Software Repositories, International Workshop on
By Thomas Zimmermann
Issue Date:May 2007
pp. 11
The version control archive CVS records not only all changes in a project but also activity data such as when developers create or update their workspaces. Furthermore, CVS records when it has to integrate changes because of parallel development. In this p...
 
Predicting Defects for Eclipse
Found in: Predictor Models in Software Engineering, International Workshop on
By Thomas Zimmermann, Rahul Premraj, Andreas Zeller
Issue Date:May 2007
pp. 9
We have mapped defects from the bug database of Eclipse (one of the largest open-source projects) to source code locations. The resulting data set lists the number of pre- and post-release defects for every package and file in the Eclipse releases 2.0, 2.1...
 
Automatic Identification of Bug-Introducing Changes
Found in: Automated Software Engineering, International Conference on
By Sunghun Kim, Thomas Zimmermann, Kai Pan, E. James Jr. Whitehead
Issue Date:September 2006
pp. 81-90
<p>Bug-fixes are widely used for predicting bugs or finding risky parts of software. However, a bug-fix does not contain information about the change that initially introduced a bug. Such bug-introducing changes can help identify important properties...
 
Mining Version Histories to Guide Software Changes
Found in: IEEE Transactions on Software Engineering
By Thomas Zimmermann, Peter Weißgerber, Stephan Diehl, Andreas Zeller
Issue Date:June 2005
pp. 429-445
We apply data mining to version histories in order to guide programmers along related changes:
 
How History Justifies System Architecture (or Not)
Found in: Principles of Software Evolution, International Workshop on
By Thomas Zimmermann, Stephan Diehl, Andreas Zeller
Issue Date:September 2003
pp. 73
<p>The revision history of a software system conveys important information about how and why the system evolved in time. The revision history can also tell us which parts of the system are coupled by common changes:
 
The Design Space of Bug Fixes and How Developers Navigate It
Found in: IEEE Transactions on Software Engineering
By Emerson Murphy-Hill,Thomas Zimmermann,Christian Bird,Nachiappan Nagappan
Issue Date:February 2015
pp. 1
When software engineers fix bugs, they may have several options as to how to fix those bugs. Which fix they choose has many implications, both for practitioners and researchers: What is the risk of introducing other bugs during the fix? Is the bug fix in t...
 
An Empirical Study of RefactoringChallenges and Benefits at Microsoft
Found in: IEEE Transactions on Software Engineering
By Miryung Kim,Thomas Zimmermann,Nachiappan Nagappan
Issue Date:July 2014
pp. 1-1
It is widely believed that refactoring improves software quality and developer productivity. However, few empirical studies quantitatively assess refactoring benefits or investigate developers’ perception towards these benefits. This paper presents a field...
 
Predicting risk of pre-release code changes with Checkinmentor
Found in: 2013 IEEE 24th International Symposium on Software Reliability Engineering (ISSRE)
By Alexander Tarvo,Nachiappan Nagappan,Thomas Zimmermann
Issue Date:November 2013
pp. 128-137
Code defects introduced during the development of the software system can result in failures after its release. Such post-release failures are costly to fix and have negative impact on the reputation of the released software. In this paper we propose a met...
   
Local versus Global Lessons for Defect Prediction and Effort Estimation
Found in: IEEE Transactions on Software Engineering
By Tim Menzies,Andrew Butcher,David Cok,Andrian Marcus,Lucas Layman,Forrest Shull,Burak Turhan,Thomas Zimmermann
Issue Date:June 2013
pp. 822-834
Existing research is unclear on how to generate lessons learned for defect prediction and effort estimation. Should we seek lessons that are global to multiple projects or just local to particular projects? This paper aims to comparatively evaluate local v...
 
Software analytics = sharing information
Found in: Proceedings of the 9th International Conference on Predictive Models in Software Engineering (PROMISE '13)
By Thomas Zimmermann
Issue Date:October 2013
pp. 1-1
Software and its development generates an inordinate amount of data. Development activities such as check-ins, work items, bug reports, code reviews, and test executions are recorded in software repositories. User interactions that reflect how customers ex...
     
Mastering the art of war: how patterns of gameplay influence skill in Halo
Found in: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI '13)
By Bruce C. Phillips, Charles Harrison, Jeff Huang, Nachiappan Nagapan, Thomas Zimmermann
Issue Date:April 2013
pp. 695-704
How do video game skills develop, and what sets the top players apart? We study this question of skill through a rating generated from repeated multiplayer matches called TrueSkill. Using these ratings from 7 months of games from over 3 million players, we...
     
Predicting method crashes with bytecode operations
Found in: Proceedings of the 6th India Software Engineering Conference (ISEC '13)
By Nicolas Bettenburg, Rahul Premraj, Shivkumar Shivaji, Sunghun Kim, Thomas Zimmermann
Issue Date:February 2013
pp. 3-12
Software monitoring systems have high performance overhead because they typically monitor all processes of the running program. For example, to capture and replay crashes, most current systems monitor all methods; thus yielding a significant performance ov...
     
A field study of refactoring challenges and benefits
Found in: Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering (FSE '12)
By Miryung Kim, Nachiappan Nagappan, Thomas Zimmermann
Issue Date:November 2012
pp. 1-11
It is widely believed that refactoring improves software quality and developer productivity. However, few empirical studies quantitatively assess refactoring benefits or investigate developers' perception towards these benefits. This paper presents a field...
     
Assessing the value of branches with what-if analysis
Found in: Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering (FSE '12)
By Christian Bird, Thomas Zimmermann
Issue Date:November 2012
pp. 1-11
Branches within source code management systems (SCMs) allow a software project to divide work among its teams for concurrent development by isolating changes. However, this benefit comes with several costs: increased time required for changes to move throu...
     
The effect of branching strategies on software quality
Found in: Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement (ESEM '12)
By Christian Bird, Emad Shihab, Thomas Zimmermann
Issue Date:September 2012
pp. 301-310
Branching plays a major role in the development process of large software. Branches provide isolation so that multiple pieces of the software system can be modified in parallel without affecting each other during times of instability. However, branching ha...
     
The inductive software engineering manifesto: principles for industrial data mining
Found in: Proceedings of the International Workshop on Machine Learning Technologies in Software Engineering (MALETS '11)
By Christian Bird, Ekrem Kocaganeli, Thomas Zimmermann, Tim Menzies, Wolfram Schulte
Issue Date:November 2011
pp. 19-26
The practices of industrial and academic data mining are very different. These differences have significant implications for (a) how we manage industrial data mining projects; (b) the direction of academic studies in data mining; and (c) training programs ...
     
A theory of branches as goals and virtual teams
Found in: Proceeding of the 4th international workshop on Cooperative and human aspects of software engineering (CHASE '11)
By Alex Teterev, Christian Bird, Thomas Zimmermann
Issue Date:May 2011
pp. 53-56
A common method of managing the complexity of both technical and organizational relationships in a large software project is to use branches within the source code management system to partition the work into teams and tasks. We claim that the files modifi...
     
"Not my bug!" and other reasons for software bug report reassignments
Found in: Proceedings of the ACM 2011 conference on Computer supported cooperative work (CSCW '11)
By Brendan Murphy, Nachiappan Nagappan, Philip J. Guo, Thomas Zimmermann
Issue Date:March 2011
pp. 395-404
Bug reporting/fixing is an important social part of the soft-ware development process. The bug-fixing process inher-ently has strong inter-personal dynamics at play, especially in how to find the optimal person to handle a bug report. Bug report reassignme...
     
Empirical software engineering at Microsoft Research
Found in: Proceedings of the ACM 2011 conference on Computer supported cooperative work (CSCW '11)
By Brendan Murphy, Christian Bird, Nachiappan Nagappan, Thomas Zimmermann
Issue Date:March 2011
pp. 143-150
We describe the activities of the Empirical Software Engi-neering (ESE) group at Microsoft Research. We highlight our research themes and activities using examples from our research on socio technical congruence, bug reporting and triaging, and data-driven...
     
Analytics for software development
Found in: Proceedings of the FSE/SDP workshop on Future of software engineering research (FoSER '10)
By Raymond P.L. Buse, Thomas Zimmermann
Issue Date:November 2010
pp. 77-80
Despite large volumes of data and many types of metrics, software projects continue to be difficult to predict and risky to conduct. In this paper we propose software analytics which holds out the promise of helping the managers of software projects turn t...
     
Social media for software engineering
Found in: Proceedings of the FSE/SDP workshop on Future of software engineering research (FoSER '10)
By Andrew Begel, Robert DeLine, Thomas Zimmermann
Issue Date:November 2010
pp. 33-38
Social media has changed the way that people collaborate and share information. In this paper, we highlight its impact for enabling new ways for software teams to form and work together. Individuals will self-organize within and across organizational bound...
     
WhoselsThat: finding software engineers with codebook
Found in: Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering (FSE '10)
By Andrew Begel, Khoo Yit Phang, Thomas Zimmermann
Issue Date:November 2010
pp. 381-382
In this demo, we describe WhoseIsThat, a social search portal which we built using the Codebook framework. We improve the search experience in two ways: first, we search across multiple software repositories at once with a single query; second, we return n...
     
Information needs in bug reports: improving cooperation between developers and users
Found in: Proceedings of the 2010 ACM conference on Computer supported cooperative work (CSCW '10)
By Jonathan Sillito, Rahul Premraj, Silvia Breu, Thomas Zimmermann
Issue Date:February 2010
pp. 301-310
For many software projects, bug tracking systems play a central role in supporting collaboration between the developers and the users of the software. To better understand this collaboration and how tool support can be improved, we have quantitatively and ...
     
 1  2 Next >>