Search For:

Displaying 1-47 out of 47 total
Roundtable: What's Next in Software Analytics
Found in: IEEE Software
By Ahmed E. Hassan,Abram Hindle,Per Runeson,Martin Shepperd,Prem Devanbu,Sunghun Kim
Issue Date:July 2013
pp. 53-56
For this special issue, the guest editors asked a panel of six established experts in software analytics to highlight what they thought were the most important, or overlooked, aspect of this field. They all pleaded for a much broader view of analytics than...
 
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...
 
Monitoring Software Quality Evolution for Defects
Found in: IEEE Software
By Hongyu Zhang, Sunghun Kim
Issue Date:July 2010
pp. 58-64
Quality control charts, especially c-charts, can help monitor software quality evolution for defects over time. c-charts of the Eclipse and Gnome systems showed that for systems experiencing active maintenance and updates, quality evolution is complicated ...
 
Where Should We Fix This Bug? A Two-Phase Recommendation Model
Found in: IEEE Transactions on Software Engineering
By Dongsun Kim,Yida Tao,Sunghun Kim,Andreas Zeller
Issue Date:November 2013
pp. 1597-1610
To support developers in debugging and locating bugs, we propose a two-phase prediction model that uses bug reports' contents to suggest the files likely to be fixed. In the first phase, our model checks whether the given bug report contains sufficient inf...
 
Which Crashes Should I Fix First?: Predicting Top Crashes at an Early Stage to Prioritize Debugging Efforts
Found in: IEEE Transactions on Software Engineering
By Dongsun Kim, Xinming Wang, Sunghun Kim, Andreas Zeller, S.C. Cheung, Sooyong Park
Issue Date:May 2011
pp. 430-447
Many popular software systems automatically report failures back to the vendors, allowing developers to focus on the most pressing problems. However, it takes a certain period of time to assess which failures occur most frequently. In an empirical investig...
 
Adding Examples into Java Documents
Found in: Automated Software Engineering, International Conference on
By Jinhan Kim, Sanghoon Lee, Seung-won Hwang, Sunghun Kim
Issue Date:November 2009
pp. 540-544
Code examples play an important role to explain the usage of Application Programming Interfaces (APIs), but most API documents do not provide sufficient code examples. For example, for the JDK 5 documents (JavaDocs), only 2% of APIs have code examples. In ...
 
Reducing Features to Improve Code Change-Based Bug Prediction
Found in: IEEE Transactions on Software Engineering
By S. Shivaji,E. James Whitehead,R. Akella, Sunghun Kim
Issue Date:April 2013
pp. 552-569
Machine learning classifiers have recently emerged as a way to predict the introduction of bugs in changes made to source code files. The classifier is first trained on software history, and then used to predict if an impending change causes a bug. Drawbac...
 
Predicting recurring crash stacks
Found in: 2012 27th IEEE/ACM International Conference on Automated Software Engineering (ASE)
By Hyunmin Seo,Sunghun Kim
Issue Date:September 2012
pp. 180-189
Software crash is one of the most severe bug manifestations and developers want to fix crash bugs quickly and efficiently. The Crash Reporting System (CRS) is widely deployed for this purpose. Even with the help of CRS, fixes are largely by manual effort, ...
 
Puzzle-based automatic testing: bringing humans into the loop by solving puzzles
Found in: 2012 27th IEEE/ACM International Conference on Automated Software Engineering (ASE)
By Ning Chen,Sunghun Kim
Issue Date:September 2012
pp. 140-149
Recently, many automatic test generation techniques have been proposed, such as Randoop, Pex and jCUTE. However, usually test coverage of these techniques has been around 50-60% only, due to several challenges, such as 1) the object mutation problem, where...
 
Understanding a developer social network and its evolution
Found in: Software Maintenance, IEEE International Conference on
By Qiaona Hong,Sunghun Kim,S.C. Cheung,Christian Bird
Issue Date:September 2011
pp. 323-332
With the growing number of large scale software projects, software development and maintenance demands the participation of larger groups. Having a thorough understanding of the group of developers is critical for improving development and maintenance qual...
 
Challenges in Automatic Testing
Found in: Secure Software Integration and Reliability Improvement Companion, IEEE International Conference on
By Sunghun Kim, Ning Chen
Issue Date:June 2011
pp. 84
This paper discuss challenges in automatic testing for object-oriented software including lack of objects, limited constraint solving, and difficulties of object mutation.
 
Integrating code search into the development session
Found in: Data Engineering, International Conference on
By Mu-Woong Lee,Seung-won Hwang,Sunghun Kim
Issue Date:April 2011
pp. 1336-1339
To support rapid and efficient software development, we propose to demonstrate our tool, integrating code search into software development process. For example, a developer, right during writing a module, can find a code piece sharing the same syntactic st...
 
Reducing Features to Improve Bug Prediction
Found in: Automated Software Engineering, International Conference on
By Shivkumar Shivaji, E. James Whitehead Jr., Ram Akella, Sunghun Kim
Issue Date:November 2009
pp. 600-604
Recently, machine learning classifiers have emerged as a way to predict the existence of a bug in a change made to a source code file. The classifier is first trained on software history data, and then used to predict bugs. Two drawbacks of existing classi...
 
Practical Extensions of a Randomized Testing Tool
Found in: Computer Software and Applications Conference, Annual International
By Hojun Jaygarl, Carl K. Chang, Sunghun Kim
Issue Date:July 2009
pp. 148-153
Many efficient random testing algorithms for object-oriented software have been proposed due to their simplicity and reasonable code coverage; however, even the state-of-the-art random test algorithms yield very low code coverage (around 22%) on large-scal...
 
Classifying Software Changes: Clean or Buggy?
Found in: IEEE Transactions on Software Engineering
By Sunghun Kim, E. James Whitehead, Jr., Yi Zhang
Issue Date:March 2008
pp. 181-196
This paper introduces a new technique for finding latent software bugs called change classification. Change classification uses a machine learning classifier to determine whether a new software change is more similar to prior buggy changes, or clean change...
 
Prioritizing Warning Categories by Analyzing Software History
Found in: Mining Software Repositories, International Workshop on
By Sunghun Kim, Michael D. Ernst
Issue Date:May 2007
pp. 27
Automatic bug finding tools tend to have high false positive rates: most warnings do not indicate real bugs. Usually bug finding tools prioritize each warning category. For example, the priority of
 
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...
 
Bug Classification Using Program Slicing Metrics
Found in: Source Code Analysis and Manipulation, IEEE International Workshop on
By Kai Pan, Sunghun Kim, E. James Whitehead, Jr.
Issue Date:September 2006
pp. 31-42
In this paper, we introduce 13 program slicing metrics for C language programs. These metrics use program slice information to measure the size, complexity, coupling, and cohesion properties of programs. Compared with traditional code metrics based on code...
 
Properties of Signature Change Patterns
Found in: Software Maintenance, IEEE International Conference on
By Sunghun Kim, E. James Whitehead, Jr., Jennifer Bevan
Issue Date:September 2006
pp. 4-13
Understanding function signature change properties and evolution patterns is important for researchers concerned with alleviating signature change impacts, understanding software evolution, and predicting future evolution patterns. We provide detailed sign...
 
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...
 
The Impact of View Histories on Edit Recommendations
Found in: IEEE Transactions on Software Engineering
By Seonah Lee,Sungwon Kang,Sunghun Kim,Matt Staats
Issue Date:February 2015
pp. 1
Recommendation systems are intended to increase developer productivity by recommending files to edit. These systems mine association rules in software revision histories. However, mining coarse-grained rules using only edit histories produces recommendatio...
 
STAR: Stack Trace based Automatic Crash Reproduction via Symbolic Execution
Found in: IEEE Transactions on Software Engineering
By Ning Chen,Sunghun Kim
Issue Date:February 2015
pp. 1
Software crash reproduction is the necessary first step for debugging. Unfortunately, crash reproduction is often labor intensive. To automate crash reproduction, many techniques have been proposed including record-replay and post-failure-process approache...
 
Enriching Documents with Examples: A Corpus Mining Approach
Found in: ACM Transactions on Information Systems (TOIS)
By Jinhan Kim, Sanghoon Lee, Seung-Won Hwang, Sunghun Kim
Issue Date:January 2013
pp. 1-27
Software developers increasingly rely on information from the Web, such as documents or code examples on application programming interfaces (APIs), to facilitate their development processes. However, API documents often do not include enough information fo...
     
MeCC: memory comparison-based clone detector
Found in: Proceeding of the 33rd international conference on Software engineering (ICSE '11)
By Heejung Kim, Kwankeun Yi, Sunghun Kim, Yungbum Jung
Issue Date:May 2011
pp. 301-310
In this paper, we propose a new semantic clone detection technique by comparing programs' abstract memory states, which are computed by a semantic-based static analyzer. Our experimental study using three large-scale open source projects shows that our tec...
     
An empirical investigation into the role of API-level refactorings during software evolution
Found in: Proceeding of the 33rd international conference on Software engineering (ICSE '11)
By Dongxiang Cai, Miryung Kim, Sunghun Kim
Issue Date:May 2011
pp. 151-160
It is widely believed that refactoring improves software quality and programmer productivity by making it easier to maintain and understand software systems. However, the role of refactorings has not been systematically investigated using fine-grained evol...
     
TA-RE: an exchange language for mining software repositories
Found in: Proceedings of the 2006 international workshop on Mining software repositories (MSR '06)
By Ahmed Hassan, Andreas Zeller, Audris Mockus, E. James Whitehead, Martin Pinzger, Miryung Kim, Sunghun Kim, Thomas Zimmermann, Tudor Girba
Issue Date:May 2006
pp. 22-25
Software repositories have been getting a lot of attention from researchers in recent years. In order to analyze software repositories, it is necessary to first extract raw data from the version control and problem tracking systems. This poses two challeng...
     
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...
     
How do software engineers understand code changes?: an exploratory study in industry
Found in: Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering (FSE '12)
By Dongmei Zhang, Sunghun Kim, Tao Xie, Yida Tao, Yingnong Dang
Issue Date:November 2012
pp. 1-11
Software evolves with continuous source-code changes. These code changes usually need to be understood by software engineers when performing their daily development and maintenance tasks. However, despite its high importance, such change-understanding prac...
     
Defect, defect, defect: defect prediction 2.0
Found in: Proceedings of the 8th International Conference on Predictive Models in Software Engineering (PROMISE '12)
By Sunghun Kim
Issue Date:September 2012
pp. 1-2
Defect prediction has been a very active research area in software engineering [6--8, 11, 13, 16, 19, 20]. In 1971, Akiyama proposed one of the earliest defect prediction models using Lines of Code (LOC) [1]: "Defect = 4.86 + 0.018LOC." Since then, many ef...
     
Predicting recurring crash stacks
Found in: Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering (ASE 2012)
By Hyunmin Seo, Sunghun Kim
Issue Date:September 2012
pp. 180-189
Software crash is one of the most severe bug manifestations and developers want to fix crash bugs quickly and efficiently. The Crash Reporting System (CRS) is widely deployed for this purpose. Even with the help of CRS, fixes are largely by manual effort, ...
     
Puzzle-based automatic testing: bringing humans into the loop by solving puzzles
Found in: Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering (ASE 2012)
By Ning Chen, Sunghun Kim
Issue Date:September 2012
pp. 140-149
Recently, many automatic test generation techniques have been proposed, such as Randoop, Pex and jCUTE. However, usually test coverage of these techniques has been around 50-60% only, due to several challenges, such as 1) the object mutation problem, where...
     
Dealing with noise in defect prediction
Found in: Proceeding of the 33rd international conference on Software engineering (ICSE '11)
By Hongyu Zhang, Liang Gong, Rongxin Wu, Sunghun Kim
Issue Date:May 2011
pp. 481-490
Many software defect prediction models have been built using historical defect data obtained by mining software repositories (MSR). Recent studies have discovered that data so collected contain noises because current defect collection practices are based o...
     
Instant code clone search
Found in: Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering (FSE '10)
By Jong-Won Roh, Mu-Woong Lee, Seung-won Hwang, Sunghun Kim
Issue Date:November 2010
pp. 167-176
In this paper, we propose a scalable instant code clone search engine for large-scale software repositories. While there are commercial code search engines available, they treat software as text and often fail to find semantically related code. Meanwhile, ...
     
OCAT: object capture-based automated testing
Found in: Proceedings of the 19th international symposium on Software testing and analysis (ISSTA '10)
By Carl K. Chang, Hojun Jaygarl, Sunghun Kim, Tao Xie
Issue Date:July 2010
pp. 159-170
Testing object-oriented (OO) software is critical because OO languages are commonly used in developing modern software systems. In testing OO software, one important and yet challenging problem is to generate desirable object instances for receivers and ar...
     
Automatically patching errors in deployed software
Found in: Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles (SOSP '09)
By Carlos Pacheco, Frank Sherwood, Greg Sullivan, Jeff H. Perkins, Jonathan Bachrach, Martin Rinard, Michael Carbin, Michael D. Ernst, Sam Larsen, Saman Amarasinghe, Stelios Sidiroglou, Sunghun Kim, Weng-Fai Wong, Yoav Zibin
Issue Date:October 2009
pp. 87-102
We present ClearView, a system for automatically patching errors in deployed software. ClearView works on stripped Windows x86 binaries without any need for source code, debugging information, or other external information, and without human intervention. ...
     
ReCrashJ: a tool for capturing and reproducing program crashes in deployed applications
Found in: Proceedings of the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering on European software engineering conference and foundations of software engineering symposium (ESEC/FSE '09)
By Michael D. Ernst, Shay Artzi, Sunghun Kim
Issue Date:August 2009
pp. 171-172
Many programs have latent bugs that cause the program to fail. In order to fix a failing program, is it crucial to be able to reproduce the failure consistently. However, reproducing a failure can be difficult and time-consuming, especially when the failur...
     
Improving bug triage with bug tossing graphs
Found in: Proceedings of the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering on European software engineering conference and foundations of software engineering symposium (ESEC/FSE '09)
By Gaeul Jeong, Sunghun Kim, Thomas Zimmermann
Issue Date:August 2009
pp. 171-172
bug report is typically assigned to a single developer who is then responsible for fixing the bug. In Mozilla and Eclipse, between 37%-44% of bug reports are "tossed" (reassigned) to other developers, for example because the bug has been assigned by accide...
     
Extracting structural information from bug reports
Found in: Proceedings of the 2008 international workshop on Mining software repositories (MSR '08)
By Nicolas Bettenburg, Rahul Premraj, Sunghun Kim, Thomas Zimmermann
Issue Date:May 2008
pp. 69-72
In software engineering experiments, the description of bug reports is typically treated as natural language text, although it often contains stack traces, source code, and patches. Neglecting such structural elements is a loss of valuable information; str...
     
MSR 2008 - 5th working conference on mining software repositories
Found in: Companion of the 13th international conference on Software engineering (ICSE Companion '08)
By Michael W. Godfrey, Michele Lanza, Sunghun Kim
Issue Date:May 2008
pp. 37-41
Software Quality has been a major challenge throughout Information Technology projects. Whether it is in software development, in software integration or whether it is in the implementation or customization of shrink-wrapped software, quality is regarded a...
     
Which warnings should I fix first?
Found in: Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering (ESEC-FSE '07)
By Michael D. Ernst, Sunghun Kim
Issue Date:September 2007
pp. 45-54
Automatic bug-finding tools have a high false positive rate: most warnings do not indicate real bugs. Usually bug-finding tools assign important warnings high priority. However, the prioritization of tools tends to be ineffective. We observed the warnings ...
     
How long did it take to fix bugs?
Found in: Proceedings of the 2006 international workshop on Mining software repositories (MSR '06)
By E. James Whitehead, Sunghun Kim
Issue Date:May 2006
pp. 173-174
The number of bugs (or fixes) is a common factor used to measure the quality of software and assist bug related analysis. For example, if software files have many bugs, they may be unstable. In comparison, the bug-fix time--the time to fix a bug after the ...
     
Mining version archives for co-changed lines
Found in: Proceedings of the 2006 international workshop on Mining software repositories (MSR '06)
By Andreas Zeller, E. James Whitehead, Sunghun Kim, Thomas Zimmermann
Issue Date:May 2006
pp. 72-75
Files, classes, or methods have frequently been investigated in recent research on co-change. In this paper, we present a first study at the level of lines. To identify line changes across several versions, we define the annotation graph which captures how...
     
Micro pattern evolution
Found in: Proceedings of the 2006 international workshop on Mining software repositories (MSR '06)
By E. James Whitehead, Kai Pan, Sunghun Kim
Issue Date:May 2006
pp. 40-46
When analyzing the evolution history of a software project, we wish to develop results that generalize across projects. One approach is to analyze design patterns, permitting characteristics of the evolution to be associated with patterns, instead of sourc...
     
Facilitating software evolution research with kenyon
Found in: Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering (ESEC/FSE-13)
By E. James Whitehead, Jennifer Bevan, Michael Godfrey, Sunghun Kim
Issue Date:September 2005
pp. 177-186
Software evolution research inherently has several resource-intensive logistical constraints. Archived project artifacts, such as those found in source code repositories and bug tracking systems, are the principal source of input data. Analysis-specific fa...
     
Analysis of signature change patterns
Found in: Proceedings of the 2005 workshop on Mining software repositories (MSR '05)
By E. James Whitehead, Jennifer Bevan, Sunghun Kim
Issue Date:May 2005
pp. 105-110
Software continually changes due to performance improvements, new requirements, bug fixes, and adaptation to a changing operational environment. Common changes include modifications to data definitions, control flow, method/function signatures, and class/f...
     
WebDAV-based hypertext annotation and trail system
Found in: Proceedings of the fifteenth ACM conference on Hypertext & hypermedia (HYPERTEXT '04)
By E. James Whitehead, Mark Slater, Sunghun Kim
Issue Date:August 2004
pp. 87-88
We introduce a WebDAV-based Hypertext Annotation and Trail System (HATS). HATS provides annotation editing, deleting, searching, and sharing using server side WebDAV capabilities. It supports hyper-trail storage and examination. The paper describes the HAT...
     
Properties of academic paper references
Found in: Proceedings of the fifteenth ACM conference on Hypertext & hypermedia (HYPERTEXT '04)
By E. James Whitehead, Sunghun Kim
Issue Date:August 2004
pp. 44-45
We propose a new method to find related papers using an input paper and its hyperlinked citation relationships rather than keywords. Such related papers are especially useful as background reading for researchers new to a research field. In this paper we i...
     
 1