A critical review of "automatic patch generation learned from human-written patches": essay on the problem statement and the evaluation of automatic software repair
Martin Monperrus
Pages: 234-242
doi>10.1145/2568225.2568324
Full text: PDFPDF
At ICSE'2013, there was the first session ever dedicated to automatic program repair. In this session, Kim et al. presented PAR, a novel template-based approach for fixing Java bugs. We strongly disagree with key points of this paper. Our critical review ... expand
Database-centric programs form the backbone of many enterprise systems. Fixing defects in such programs takes much human effort due to the interplay between imperative code and database-centric logic. This paper presents a novel data-driven approach ... expand
The strength of random search on automated program repair
Yuhua Qi, Xiaoguang Mao, Yan Lei, Ziying Dai, Chengsong Wang
Pages: 254-265
doi>10.1145/2568225.2568254
Full text: PDFPDF
Automated program repair recently received considerable attentions, and many techniques on this research area have been proposed. Among them, two genetic-programming-based techniques, GenProg and Par, have shown the promising results. In particular, ... expand
Being able to automatically repair programs is at the same time a very compelling vision and an extremely challenging task. In this paper, we present MintHint, a novel technique for program repair that is a departure from most of today’s approaches. ... expand
SESSION: Formal Analysis
Mining behavior models from user-intensive web applications
Carlo Ghezzi, Mauro Pezzè, Michele Sama, Giordano Tamburrelli
Pages: 277-287
doi>10.1145/2568225.2568234
Full text: PDFPDF
Many modern user-intensive applications, such as Web applications, must satisfy the interaction requirements of thousands if not millions of users, which can be hardly fully understood at design time. Designing applications that meet user behaviors, ... expand
Reviser: efficiently updating IDE-/IFDS-based data-flow analyses in response to incremental program changes
Steven Arzt, Eric Bodden
Pages: 288-298
doi>10.1145/2568225.2568243
Full text: PDFPDF
Most application code evolves incrementally, and especially so when being maintained after the applications have been deployed. Yet, most data-flow analyses do not take advantage of this fact. Instead they require clients to recompute the entire analysis ... expand
Automated design of self-adaptive software with control-theoretical formal guarantees
Antonio Filieri, Henry Hoffmann, Martina Maggio
Pages: 299-310
doi>10.1145/2568225.2568272
Full text: PDFPDF
Self-adaptation enables software to execute successfully in dynamic, unpredictable, and uncertain environments. Control theory provides a broad set of mathematically grounded techniques for adapting the behavior of dynamic systems. While it has been ... expand
Perturbation analysis of stochastic systems with empirical distribution parameters
Guoxin Su, David S. Rosenblum
Pages: 311-321
doi>10.1145/2568225.2568256
Full text: PDFPDF
Probabilistic model checking is a quantitative verification technology for computer systems and has been the focus of intense research for over a decade. While in many circumstances of probabilistic model checking it is reasonable to anticipate a possible ... expand
SESSION: Configuration Management
How do centralized and distributed version control systems impact software changes?
Caius Brindescu, Mihai Codoban, Sergii Shmarkatiuk, Danny Dig
Pages: 322-333
doi>10.1145/2568225.2568322
Full text: PDFPDF
Distributed Version Control Systems (DVCS) have seen an increase in popularity relative to traditional Centralized Version Control Systems (CVCS). Yet we know little on whether developers are benefitting from the extra power of DVCS. Without such knowledge, ... expand
Transition from centralized to decentralized version control systems: a case study on reasons, barriers, and outcomes
Kıvanç Muşlu, Christian Bird, Nachiappan Nagappan, Jacek Czerwonka
Pages: 334-344
doi>10.1145/2568225.2568284
Full text: PDFPDF
In recent years, software development has started to transition from centralized version control systems (CVCSs) to decentralized version control systems (DVCSs). Although CVCSs and DVCSs have been studied extensively, there has been little research ... expand
An exploratory study of the pull-based software development model
Georgios Gousios, Martin Pinzger, Arie van Deursen
Pages: 345-355
doi>10.1145/2568225.2568260
Full text: PDFPDF
The advent of distributed version control systems has led to the development of a new paradigm for distributed software development; instead of pushing changes to a central repository, developers pull them from other repositories and merge them locally. ... expand
Influence of social and technical factors for evaluating contribution in GitHub
Jason Tsay, Laura Dabbish, James Herbsleb
Pages: 356-366
doi>10.1145/2568225.2568315
Full text: PDFPDF
Open source software is commonly portrayed as a meritocracy, where decisions are based solely on their technical merit. However, literature on open source suggests a complex social structure underlying the meritocracy. Social work environments such ... expand
SESSION: Software Understanding
Understanding JavaScript event-based interactions
Saba Alimadadi, Sheldon Sequeira, Ali Mesbah, Karthik Pattabiraman
Pages: 367-377
doi>10.1145/2568225.2568268
Full text: PDFPDF
Web applications have become one of the fastest growing types of software systems today. Despite their popularity, understanding the behaviour of modern web applications is still a challenging endeavour for developers during development and maintenance ... expand
Understanding understanding source code with functional magnetic resonance imaging
Janet Siegmund, Christian Kästner, Sven Apel, Chris Parnin, Anja Bethmann, Thomas Leich, Gunter Saake, André Brechmann
Pages: 378-389
doi>10.1145/2568225.2568252
Full text: PDFPDF
Program comprehension is an important cognitive process that inherently eludes direct measurement. Thus, researchers are struggling with providing suitable programming languages, tools, or coding conventions to support developers in their everyday work. ... expand
Improving automated source code summarization via an eye-tracking study of programmers
Paige Rodeghero, Collin McMillan, Paul W. McBurney, Nigel Bosch, Sidney D'Mello
Pages: 390-401
doi>10.1145/2568225.2568247
Full text: PDFPDF
Source Code Summarization is an emerging technology for automatically generating brief descriptions of code. Current summarization techniques work by selecting a subset of the statements and keywords from the code, and then including information from ... expand
Using psycho-physiological measures to assess task difficulty in software development
Thomas Fritz, Andrew Begel, Sebastian C. Müller, Serap Yigit-Elliott, Manuela Züger
Pages: 402-413
doi>10.1145/2568225.2568266
Full text: PDFPDF
Software developers make programming mistakes that cause serious bugs for their customers. Existing work to detect problematic software focuses mainly on post hoc identification of correlations between bug fixes and code. We propose a new approach to ... expand
SESSION: Prediction
Dictionary learning based software defect prediction
Xiao-Yuan Jing, Shi Ying, Zhi-Wu Zhang, Shan-Shan Wu, Jin Liu
Pages: 414-423
doi>10.1145/2568225.2568320
Full text: PDFPDF
In order to improve the quality of a software system, software defect prediction aims to automatically identify defective software modules for efficient software test. To predict software defect, those classification methods with static code attributes ... expand
Comparing static bug finders and statistical prediction
Foyzur Rahman, Sameer Khatri, Earl T. Barr, Premkumar Devanbu
Pages: 424-434
doi>10.1145/2568225.2568269
Full text: PDFPDF
The all-important goal of delivering better software at lower cost has led to a vital, enduring quest for ways to find and remove defects efficiently and accurately. To this end, two parallel lines of research have emerged over the last years. Static ... expand
Coverage is not strongly correlated with test suite effectiveness
Laura Inozemtseva, Reid Holmes
Pages: 435-445
doi>10.1145/2568225.2568271
Full text: PDFPDF
The coverage of a test suite is often used as a proxy for its ability to detect faults. However, previous studies that investigated the correlation between code coverage and test suite effectiveness have failed to reach a consensus about the nature ... expand
SESSION: Repair
A critical review of "automatic patch generation learned from human-written patches": essay on the problem statement and the evaluation of automatic software repair
Martin Monperrus Pages: 234-242 doi>10.1145/2568225.2568324 Full text: PDFPDF
At ICSE'2013, there was the first session ever dedicated to automatic program repair. In this session, Kim et al. presented PAR, a novel template-based approach for fixing Java bugs. We strongly disagree with key points of this paper. Our critical review ... expand
Data-guided repair of selection statements
Divya Gopinath, Sarfraz Khurshid, Diptikalyan Saha, Satish Chandra Pages: 243-253 doi>10.1145/2568225.2568303 Full text: PDFPDF
Database-centric programs form the backbone of many enterprise systems. Fixing defects in such programs takes much human effort due to the interplay between imperative code and database-centric logic. This paper presents a novel data-driven approach ... expand
The strength of random search on automated program repair
Yuhua Qi, Xiaoguang Mao, Yan Lei, Ziying Dai, Chengsong Wang Pages: 254-265 doi>10.1145/2568225.2568254 Full text: PDFPDF
Automated program repair recently received considerable attentions, and many techniques on this research area have been proposed. Among them, two genetic-programming-based techniques, GenProg and Par, have shown the promising results. In particular, ... expand
MintHint: automated synthesis of repair hints
Shalini Kaleeswaran, Varun Tulsian, Aditya Kanade, Alessandro Orso Pages: 266-276 doi>10.1145/2568225.2568258 Full text: PDFPDF
Being able to automatically repair programs is at the same time a very compelling vision and an extremely challenging task. In this paper, we present MintHint, a novel technique for program repair that is a departure from most of today’s approaches. ... expand
SESSION: Formal Analysis
Mining behavior models from user-intensive web applications
Carlo Ghezzi, Mauro Pezzè, Michele Sama, Giordano Tamburrelli Pages: 277-287 doi>10.1145/2568225.2568234 Full text: PDFPDF
Many modern user-intensive applications, such as Web applications, must satisfy the interaction requirements of thousands if not millions of users, which can be hardly fully understood at design time. Designing applications that meet user behaviors, ... expand
Reviser: efficiently updating IDE-/IFDS-based data-flow analyses in response to incremental program changes
Steven Arzt, Eric Bodden Pages: 288-298 doi>10.1145/2568225.2568243 Full text: PDFPDF
Most application code evolves incrementally, and especially so when being maintained after the applications have been deployed. Yet, most data-flow analyses do not take advantage of this fact. Instead they require clients to recompute the entire analysis ... expand
Automated design of self-adaptive software with control-theoretical formal guarantees
Antonio Filieri, Henry Hoffmann, Martina Maggio Pages: 299-310 doi>10.1145/2568225.2568272 Full text: PDFPDF
Self-adaptation enables software to execute successfully in dynamic, unpredictable, and uncertain environments. Control theory provides a broad set of mathematically grounded techniques for adapting the behavior of dynamic systems. While it has been ... expand
Perturbation analysis of stochastic systems with empirical distribution parameters
Guoxin Su, David S. Rosenblum Pages: 311-321 doi>10.1145/2568225.2568256 Full text: PDFPDF
Probabilistic model checking is a quantitative verification technology for computer systems and has been the focus of intense research for over a decade. While in many circumstances of probabilistic model checking it is reasonable to anticipate a possible ... expand
SESSION: Configuration Management
How do centralized and distributed version control systems impact software changes?
Caius Brindescu, Mihai Codoban, Sergii Shmarkatiuk, Danny Dig Pages: 322-333 doi>10.1145/2568225.2568322 Full text: PDFPDF
Distributed Version Control Systems (DVCS) have seen an increase in popularity relative to traditional Centralized Version Control Systems (CVCS). Yet we know little on whether developers are benefitting from the extra power of DVCS. Without such knowledge, ... expand
Transition from centralized to decentralized version control systems: a case study on reasons, barriers, and outcomes
Kıvanç Muşlu, Christian Bird, Nachiappan Nagappan, Jacek Czerwonka Pages: 334-344 doi>10.1145/2568225.2568284 Full text: PDFPDF
In recent years, software development has started to transition from centralized version control systems (CVCSs) to decentralized version control systems (DVCSs). Although CVCSs and DVCSs have been studied extensively, there has been little research ... expand
An exploratory study of the pull-based software development model
Georgios Gousios, Martin Pinzger, Arie van Deursen Pages: 345-355 doi>10.1145/2568225.2568260 Full text: PDFPDF
The advent of distributed version control systems has led to the development of a new paradigm for distributed software development; instead of pushing changes to a central repository, developers pull them from other repositories and merge them locally. ... expand
Influence of social and technical factors for evaluating contribution in GitHub
Jason Tsay, Laura Dabbish, James Herbsleb Pages: 356-366 doi>10.1145/2568225.2568315 Full text: PDFPDF
Open source software is commonly portrayed as a meritocracy, where decisions are based solely on their technical merit. However, literature on open source suggests a complex social structure underlying the meritocracy. Social work environments such ... expand
SESSION: Software Understanding
Understanding JavaScript event-based interactions
Saba Alimadadi, Sheldon Sequeira, Ali Mesbah, Karthik Pattabiraman Pages: 367-377 doi>10.1145/2568225.2568268 Full text: PDFPDF
Web applications have become one of the fastest growing types of software systems today. Despite their popularity, understanding the behaviour of modern web applications is still a challenging endeavour for developers during development and maintenance ... expand
Understanding understanding source code with functional magnetic resonance imaging
Janet Siegmund, Christian Kästner, Sven Apel, Chris Parnin, Anja Bethmann, Thomas Leich, Gunter Saake, André Brechmann Pages: 378-389 doi>10.1145/2568225.2568252 Full text: PDFPDF
Program comprehension is an important cognitive process that inherently eludes direct measurement. Thus, researchers are struggling with providing suitable programming languages, tools, or coding conventions to support developers in their everyday work. ... expand
Improving automated source code summarization via an eye-tracking study of programmers
Paige Rodeghero, Collin McMillan, Paul W. McBurney, Nigel Bosch, Sidney D'Mello Pages: 390-401 doi>10.1145/2568225.2568247 Full text: PDFPDF
Source Code Summarization is an emerging technology for automatically generating brief descriptions of code. Current summarization techniques work by selecting a subset of the statements and keywords from the code, and then including information from ... expand
Using psycho-physiological measures to assess task difficulty in software development
Thomas Fritz, Andrew Begel, Sebastian C. Müller, Serap Yigit-Elliott, Manuela Züger Pages: 402-413 doi>10.1145/2568225.2568266 Full text: PDFPDF
Software developers make programming mistakes that cause serious bugs for their customers. Existing work to detect problematic software focuses mainly on post hoc identification of correlations between bug fixes and code. We propose a new approach to ... expand
SESSION: Prediction
Dictionary learning based software defect prediction
Xiao-Yuan Jing, Shi Ying, Zhi-Wu Zhang, Shan-Shan Wu, Jin Liu Pages: 414-423 doi>10.1145/2568225.2568320 Full text: PDFPDF
In order to improve the quality of a software system, software defect prediction aims to automatically identify defective software modules for efficient software test. To predict software defect, those classification methods with static code attributes ... expand
Comparing static bug finders and statistical prediction
Foyzur Rahman, Sameer Khatri, Earl T. Barr, Premkumar Devanbu Pages: 424-434 doi>10.1145/2568225.2568269 Full text: PDFPDF
The all-important goal of delivering better software at lower cost has led to a vital, enduring quest for ways to find and remove defects efficiently and accurately. To this end, two parallel lines of research have emerged over the last years. Static ... expand
Coverage is not strongly correlated with test suite effectiveness
Laura Inozemtseva, Reid Holmes Pages: 435-445 doi>10.1145/2568225.2568271 Full text: PDFPDF
The coverage of a test suite is often used as a proxy for its ability to detect faults. However, previous studies that investigated the correlation between code coverage and test suite effectiveness have failed to reach a consensus about the nature ... expand