You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Let's talk about it: evaluating contributions through discussion in GitHub
Jason Tsay, Laura Dabbish, James Herbsleb
Pages: 144-154
doi>10.1145/2635868.2635882
Full text: PDFPDF
Open source software projects often rely on code contributions from a wide variety of developers to extend the capabilities of their software. Project members evaluate these contributions and often engage in extended discussions to decide whether to ... expand
A large scale study of programming languages and code quality in github
Baishakhi Ray, Daryl Posnett, Vladimir Filkov, Premkumar Devanbu
Pages: 155-165
doi>10.1145/2635868.2635922
Full text: PDFPDF
What is the effect of programming languages on software quality? This question has been a topic of much debate for a very long time. In this study, we gather a very large data set from GitHub (729 projects, 80 Million SLOC, 29,000 authors, 1.5 million ... expand
Mining preconditions of APIs in large-scale code corpus
Hoan Anh Nguyen, Robert Dyer, Tien N. Nguyen, Hridesh Rajan
Pages: 166-177
doi>10.1145/2635868.2635924
Full text: PDFPDF
Modern software relies on existing application programming interfaces (APIs) from libraries. Formal specifications for the APIs enable many software engineering tasks as well as help developers correctly use them. In this work, we mine large-scale repositories ... expand
Automatic mining of specifications from invocation traces and method invariants
Ivo Krka, Yuriy Brun, Nenad Medvidovic
Pages: 178-189
doi>10.1145/2635868.2635890
Full text: PDFPDF
Software library documentation often describes individual methods' APIs, but not the intended protocols and method interactions. This can lead to library misuse, and restrict runtime detection of protocol violations and automated verification of ... expand
SESSION: Formal Methods and Verification
Counterexample guided abstraction refinement of product-line behavioural models
Maxime Cordy, Patrick Heymans, Axel Legay, Pierre-Yves Schobbens, Bruno Dawagne, Martin Leucker
Pages: 190-201
doi>10.1145/2635868.2635919
Full text: PDFPDF
The model-checking problem for Software Products Lines (SPLs) is harder than for single systems: variability constitutes a new source of complexity that exacerbates the state-explosion problem. Abstraction techniques have successfully alleviated state ... expand
Powering the static driver verifier using corral
Akash Lal, Shaz Qadeer
Pages: 202-212
doi>10.1145/2635868.2635894
Full text: PDFPDF
The application of software-verification technology towards building realistic bug-finding tools requires working through several precision-scalability tradeoffs. For instance, a critical aspect while dealing with C programs is to formally define the ... expand
Verifying CTL-live properties of infinite state models using an SMT solver
Amirhossein Vakili, Nancy A. Day
Pages: 213-223
doi>10.1145/2635868.2635911
Full text: PDFPDF
The ability to create and analyze abstract models is an important step in conquering software complexity. In this paper, we show that it is practical to verify dynamic properties of infinite state models expressed in a subset of CTL directly using an ... expand
Efficient runtime-enforcement techniques for policy weaving
Richard Joiner, Thomas Reps, Somesh Jha, Mohan Dhawan, Vinod Ganapathy
Pages: 224-234
doi>10.1145/2635868.2635907
Full text: PDFPDF
Policy weaving is a program-transformation technique that rewrites a program so that it is guaranteed to be safe with respect to a stateful security policy. It utilizes (i) static analysis to identify points in the program at which policy violations ... expand
SESSION: Regression Testing
Techniques for improving regression testing in continuous integration development environments
Sebastian Elbaum, Gregg Rothermel, John Penix
Pages: 235-245
doi>10.1145/2635868.2635910
Full text: PDFPDF
In continuous integration development environments, software engineers frequently integrate new or changed code with the mainline codebase. This can reduce the amount of code rework that is needed as systems evolve and speed up development time. While ... expand #76 Balancing trade-offs in test-suite reduction
August Shi, Alex Gyori, Milos Gligoric, Andrey Zaytsev, Darko Marinov
Pages: 246-256
doi>10.1145/2635868.2635921
Full text: PDFPDF
Regression testing is an important activity but can get expensive for large test suites. Test-suite reduction speeds up regression testing by identifying and removing redundant tests based on a given set of requirements. Traditional research on test-suite ... expand
Identifying the characteristics of vulnerable code changes: an empirical study
Amiangshu Bosu, Jeffrey C. Carver, Munawar Hafiz, Patrick Hilley, Derek Janni
Pages: 257-268
doi>10.1145/2635868.2635880
Full text: PDFPDF
To focus the efforts of security experts, the goals of this empirical study are to analyze which security vulnerabilities can be discovered by code review, identify characteristics of vulnerable code changes, and identify characteristics of developers ... expand
SESSION: Improving Recommender Systems
On the localness of software
Zhaopeng Tu, Zhendong Su, Premkumar Devanbu
Pages: 269-280
doi>10.1145/2635868.2635875
Full text: PDFPDF
The n-gram language model, which has its roots in statistical natural language processing, has been shown to successfully capture the repetitive and predictable regularities (“naturalness") of source code, and help with tasks such as code suggestion, ... expand
Learning natural coding conventions
Miltiadis Allamanis, Earl T. Barr, Christian Bird, Charles Sutton
Pages: 281-293
doi>10.1145/2635868.2635883
Full text: PDFPDF
Every programmer has a characteristic style, ranging from preferences about identifier naming to preferences about object relationships and design patterns. Coding conventions define a consistent syntactic style, fostering readability and hence maintainability. ... expand
How should we measure functional sameness from program source code? an exploratory study on Java methods
Yoshiki Higo, Shinji Kusumoto
Pages: 294-305
doi>10.1145/2635868.2635886
Full text: PDFPDF
Program source code is one of the main targets of software engineering research. A wide variety of research has been conducted on source code, and many studies have leveraged structural, vocabulary, and method signature similarities to measure the functional ... expand
The plastic surgery hypothesis
Earl T. Barr, Yuriy Brun, Premkumar Devanbu, Mark Harman, Federica Sarro
Pages: 306-317
doi>10.1145/2635868.2635898
Full text: PDFPDF
Recent work on genetic-programming-based approaches to automatic program patching have relied on the insight that the content of new code can often be assembled out of fragments of code that already exist in the code base. This insight has been dubbed ... expand
The text was updated successfully, but these errors were encountered:
SESSION: Mining Software Repositories
Let's talk about it: evaluating contributions through discussion in GitHub
Jason Tsay, Laura Dabbish, James Herbsleb
Pages: 144-154
doi>10.1145/2635868.2635882
Full text: PDFPDF
Open source software projects often rely on code contributions from a wide variety of developers to extend the capabilities of their software. Project members evaluate these contributions and often engage in extended discussions to decide whether to ... expand
A large scale study of programming languages and code quality in github
Baishakhi Ray, Daryl Posnett, Vladimir Filkov, Premkumar Devanbu
Pages: 155-165
doi>10.1145/2635868.2635922
Full text: PDFPDF
What is the effect of programming languages on software quality? This question has been a topic of much debate for a very long time. In this study, we gather a very large data set from GitHub (729 projects, 80 Million SLOC, 29,000 authors, 1.5 million ... expand
Mining preconditions of APIs in large-scale code corpus
Hoan Anh Nguyen, Robert Dyer, Tien N. Nguyen, Hridesh Rajan
Pages: 166-177
doi>10.1145/2635868.2635924
Full text: PDFPDF
Modern software relies on existing application programming interfaces (APIs) from libraries. Formal specifications for the APIs enable many software engineering tasks as well as help developers correctly use them. In this work, we mine large-scale repositories ... expand
Automatic mining of specifications from invocation traces and method invariants
Ivo Krka, Yuriy Brun, Nenad Medvidovic
Pages: 178-189
doi>10.1145/2635868.2635890
Full text: PDFPDF
Software library documentation often describes individual methods' APIs, but not the intended protocols and method interactions. This can lead to library misuse, and restrict runtime detection of protocol violations and automated verification of ... expand
SESSION: Formal Methods and Verification
Counterexample guided abstraction refinement of product-line behavioural models
Maxime Cordy, Patrick Heymans, Axel Legay, Pierre-Yves Schobbens, Bruno Dawagne, Martin Leucker
Pages: 190-201
doi>10.1145/2635868.2635919
Full text: PDFPDF
The model-checking problem for Software Products Lines (SPLs) is harder than for single systems: variability constitutes a new source of complexity that exacerbates the state-explosion problem. Abstraction techniques have successfully alleviated state ... expand
Powering the static driver verifier using corral
Akash Lal, Shaz Qadeer
Pages: 202-212
doi>10.1145/2635868.2635894
Full text: PDFPDF
The application of software-verification technology towards building realistic bug-finding tools requires working through several precision-scalability tradeoffs. For instance, a critical aspect while dealing with C programs is to formally define the ... expand
Verifying CTL-live properties of infinite state models using an SMT solver
Amirhossein Vakili, Nancy A. Day
Pages: 213-223
doi>10.1145/2635868.2635911
Full text: PDFPDF
The ability to create and analyze abstract models is an important step in conquering software complexity. In this paper, we show that it is practical to verify dynamic properties of infinite state models expressed in a subset of CTL directly using an ... expand
Efficient runtime-enforcement techniques for policy weaving
Richard Joiner, Thomas Reps, Somesh Jha, Mohan Dhawan, Vinod Ganapathy
Pages: 224-234
doi>10.1145/2635868.2635907
Full text: PDFPDF
Policy weaving is a program-transformation technique that rewrites a program so that it is guaranteed to be safe with respect to a stateful security policy. It utilizes (i) static analysis to identify points in the program at which policy violations ... expand
SESSION: Regression Testing
Techniques for improving regression testing in continuous integration development environments
Sebastian Elbaum, Gregg Rothermel, John Penix
Pages: 235-245
doi>10.1145/2635868.2635910
Full text: PDFPDF
In continuous integration development environments, software engineers frequently integrate new or changed code with the mainline codebase. This can reduce the amount of code rework that is needed as systems evolve and speed up development time. While ... expand
#76 Balancing trade-offs in test-suite reduction
August Shi, Alex Gyori, Milos Gligoric, Andrey Zaytsev, Darko Marinov
Pages: 246-256
doi>10.1145/2635868.2635921
Full text: PDFPDF
Regression testing is an important activity but can get expensive for large test suites. Test-suite reduction speeds up regression testing by identifying and removing redundant tests based on a given set of requirements. Traditional research on test-suite ... expand
Identifying the characteristics of vulnerable code changes: an empirical study
Amiangshu Bosu, Jeffrey C. Carver, Munawar Hafiz, Patrick Hilley, Derek Janni
Pages: 257-268
doi>10.1145/2635868.2635880
Full text: PDFPDF
To focus the efforts of security experts, the goals of this empirical study are to analyze which security vulnerabilities can be discovered by code review, identify characteristics of vulnerable code changes, and identify characteristics of developers ... expand
SESSION: Improving Recommender Systems
On the localness of software
Zhaopeng Tu, Zhendong Su, Premkumar Devanbu
Pages: 269-280
doi>10.1145/2635868.2635875
Full text: PDFPDF
The n-gram language model, which has its roots in statistical natural language processing, has been shown to successfully capture the repetitive and predictable regularities (“naturalness") of source code, and help with tasks such as code suggestion, ... expand
Learning natural coding conventions
Miltiadis Allamanis, Earl T. Barr, Christian Bird, Charles Sutton
Pages: 281-293
doi>10.1145/2635868.2635883
Full text: PDFPDF
Every programmer has a characteristic style, ranging from preferences about identifier naming to preferences about object relationships and design patterns. Coding conventions define a consistent syntactic style, fostering readability and hence maintainability. ... expand
How should we measure functional sameness from program source code? an exploratory study on Java methods
Yoshiki Higo, Shinji Kusumoto
Pages: 294-305
doi>10.1145/2635868.2635886
Full text: PDFPDF
Program source code is one of the main targets of software engineering research. A wide variety of research has been conducted on source code, and many studies have leveraged structural, vocabulary, and method signature similarities to measure the functional ... expand
The plastic surgery hypothesis
Earl T. Barr, Yuriy Brun, Premkumar Devanbu, Mark Harman, Federica Sarro
Pages: 306-317
doi>10.1145/2635868.2635898
Full text: PDFPDF
Recent work on genetic-programming-based approaches to automatic program patching have relied on the insight that the content of new code can often be assembled out of fragments of code that already exist in the code base. This insight has been dubbed ... expand
The text was updated successfully, but these errors were encountered: