CSMR-WCRE 2014 – Author Index |
Contents -
Abstracts -
Authors
|
C D G H I K L M N O R S T V Y Z
Claes, Maëlick |
CSMR-WCRE '14-ERA: "On the Maintainability of ..."
On the Maintainability of CRAN Packages
Maëlick Claes, Tom Mens, and Philippe Grosjean (University of Mons, Belgium) When writing software, developers are confronted with a trade-off between depending on existing components and reimplementing similar functionality in their own code. Errors may be inadvertently introduced because of dependencies to unreliable components, and it may take longer time to fix these errors. We study such issues in the context of the CRAN archive, a long-lived software ecosystem consisting of over 5000 R packages being actively maintained by over 2500 maintainers, with different flavors of each package depending on the development status and target operating system. Based on an analysis of package dependencies and package status, we present preliminary results on the sources of errors in these packages per flavor, and the time that is needed to fix these errors. @InProceedings{CSMR-WCRE14p308, author = {Maëlick Claes and Tom Mens and Philippe Grosjean}, title = {On the Maintainability of CRAN Packages}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {308--312}, doi = {}, year = {2014}, } |
|
Cordy, James R. |
CSMR-WCRE '14-ERA: "Examining the Relationship ..."
Examining the Relationship between Topic Model Similarity and Software Maintenance
Scott Grant and James R. Cordy (Queen's University, Canada) Software maintenance is the last phase of software development, and typically one of the most time-consuming. One reason for this is the difficulty in finding related source code fragments. A high-level understanding of the source code is necessary to make decisions about which source code fragments should be modified together, for example, in the context of fixing a bug. Even with a similarity metric available, understanding what it means to measure similarity in the first place is important; if a technique suggests that two source code fragments are related, is there a human-oriented way of explaining that relation? In this paper, we attempt to identify a concrete link between software maintenance and the similarity metrics provided by latent topic models. We show that similarity in topic models is related to the likelihood that source code fragments will be modified together in the future, and that an awareness of similar source code can make software maintenance easier. @InProceedings{CSMR-WCRE14p303, author = {Scott Grant and James R. Cordy}, title = {Examining the Relationship between Topic Model Similarity and Software Maintenance}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {303--307}, doi = {}, year = {2014}, } |
|
Decan, Alexandre |
CSMR-WCRE '14-ERA: "Co-evolving Code-Related and ..."
Co-evolving Code-Related and Database-Related Changes in a Data-Intensive Software System
Mathieu Goeminne, Alexandre Decan , and Tom Mens (University of Mons, Belgium) Current empirical studies on the evolution of software systems are primarily analysing source code. Sometimes, social aspects such as the activity of contributors are considered as well. Very few studies, however, focus on data-intensive software systems (DISS), in which a significant part of the total development effort is devoted to maintaining and evolving the database schema. We report on early results obtained in the empirical analysis of the co-evolution between code-related and database-related activities in a large open source DISS. As a case study, we have analysed OSCAR, for which the historical information spanning many years is available in a Git repository. @InProceedings{CSMR-WCRE14p353, author = {Mathieu Goeminne and Alexandre Decan and Tom Mens}, title = {Co-evolving Code-Related and Database-Related Changes in a Data-Intensive Software System}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {353--357}, doi = {}, year = {2014}, } |
|
Goeminne, Mathieu |
CSMR-WCRE '14-ERA: "Co-evolving Code-Related and ..."
Co-evolving Code-Related and Database-Related Changes in a Data-Intensive Software System
Mathieu Goeminne, Alexandre Decan , and Tom Mens (University of Mons, Belgium) Current empirical studies on the evolution of software systems are primarily analysing source code. Sometimes, social aspects such as the activity of contributors are considered as well. Very few studies, however, focus on data-intensive software systems (DISS), in which a significant part of the total development effort is devoted to maintaining and evolving the database schema. We report on early results obtained in the empirical analysis of the co-evolution between code-related and database-related activities in a large open source DISS. As a case study, we have analysed OSCAR, for which the historical information spanning many years is available in a Git repository. @InProceedings{CSMR-WCRE14p353, author = {Mathieu Goeminne and Alexandre Decan and Tom Mens}, title = {Co-evolving Code-Related and Database-Related Changes in a Data-Intensive Software System}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {353--357}, doi = {}, year = {2014}, } |
|
Grant, Scott |
CSMR-WCRE '14-ERA: "Examining the Relationship ..."
Examining the Relationship between Topic Model Similarity and Software Maintenance
Scott Grant and James R. Cordy (Queen's University, Canada) Software maintenance is the last phase of software development, and typically one of the most time-consuming. One reason for this is the difficulty in finding related source code fragments. A high-level understanding of the source code is necessary to make decisions about which source code fragments should be modified together, for example, in the context of fixing a bug. Even with a similarity metric available, understanding what it means to measure similarity in the first place is important; if a technique suggests that two source code fragments are related, is there a human-oriented way of explaining that relation? In this paper, we attempt to identify a concrete link between software maintenance and the similarity metrics provided by latent topic models. We show that similarity in topic models is related to the likelihood that source code fragments will be modified together in the future, and that an awareness of similar source code can make software maintenance easier. @InProceedings{CSMR-WCRE14p303, author = {Scott Grant and James R. Cordy}, title = {Examining the Relationship between Topic Model Similarity and Software Maintenance}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {303--307}, doi = {}, year = {2014}, } |
|
Grosjean, Philippe |
CSMR-WCRE '14-ERA: "On the Maintainability of ..."
On the Maintainability of CRAN Packages
Maëlick Claes, Tom Mens, and Philippe Grosjean (University of Mons, Belgium) When writing software, developers are confronted with a trade-off between depending on existing components and reimplementing similar functionality in their own code. Errors may be inadvertently introduced because of dependencies to unreliable components, and it may take longer time to fix these errors. We study such issues in the context of the CRAN archive, a long-lived software ecosystem consisting of over 5000 R packages being actively maintained by over 2500 maintainers, with different flavors of each package depending on the development status and target operating system. Based on an analysis of package dependencies and package status, we present preliminary results on the sources of errors in these packages per flavor, and the time that is needed to fix these errors. @InProceedings{CSMR-WCRE14p308, author = {Maëlick Claes and Tom Mens and Philippe Grosjean}, title = {On the Maintainability of CRAN Packages}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {308--312}, doi = {}, year = {2014}, } |
|
Hassan, Ahmed E. |
CSMR-WCRE '14-ERA: "Orchestrating Change: An Artistic ..."
Orchestrating Change: An Artistic Representation of Software Evolution
Shane McIntosh, Katie Legere, and Ahmed E. Hassan (Queen's University, Canada) Several visualization tools have been proposed to highlight interesting software evolution phenomena. These tools help practitioners to navigate large and complex software systems, and also support researchers in studying software evolution. However, little work has explored the use of sound in the context of software evolution. In this paper, we propose the use of musical interpretation to support exploration of software evolution data. In order to generate music inspired by software evolution, we use parameter-based sonification, i.e., a mapping of dataset characteristics to sound. Our approach yields musical scores that can be played synthetically or by a symphony orchestra. In designing our approach, we address three challenges: (1) the generated music must be aesthetically pleasing, (2) the generated music must accurately reflect the changes that have occurred, and (3) a small group of musicians must be able to impersonate a large development team. We assess the feasibility of our approach using historical data from Eclipse, which yields promising results. @InProceedings{CSMR-WCRE14p348, author = {Shane McIntosh and Katie Legere and Ahmed E. Hassan}, title = {Orchestrating Change: An Artistic Representation of Software Evolution}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {348--352}, doi = {}, year = {2014}, } Info |
|
Hayase, Yasuhiro |
CSMR-WCRE '14-ERA: "Recommending Verbs for Rename ..."
Recommending Verbs for Rename Method using Association Rule Mining
Yuki Kashiwabara, Yuya Onizuka, Takashi Ishio, Yasuhiro Hayase, Tetsuo Yamamoto, and Katsuro Inoue (Osaka University, Japan; University of Tsukuba, Japan; Nihon University, Japan) An identifier is one of the crucial elements for program readability. Method names in an object-oriented program are important identifiers because method names are used for understanding the behavior of the methods without reading a part of the program. It is well-known that each method name should consist of a verb and objects according to general guidelines. However, it is not easy to name methods consistently since each of the developers may have a different understanding of the verbs and objects used in the method names. As a first step to enable developers to name methods consistently and easily, we focus on the verbs used in the method names. In this paper, we present a technique to recommend candidate verbs for a method name so that developers can use consistent verbs for method names. Given a method, we recommend a list of verbs used in many other methods similar to the given method, by using association rules. We have extracted association rules from 445 OSS projects and applied these rules to two projects. As a result, the extracted rules could recommend the current verbs in the top 10 candidates for 60.6% of the methods covered by our approach. Furthermore, we have identified four meaningful groups of rules for verb recommendation. @InProceedings{CSMR-WCRE14p323, author = {Yuki Kashiwabara and Yuya Onizuka and Takashi Ishio and Yasuhiro Hayase and Tetsuo Yamamoto and Katsuro Inoue}, title = {Recommending Verbs for Rename Method using Association Rule Mining}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {323--327}, doi = {}, year = {2014}, } |
|
Hill, Emily |
CSMR-WCRE '14-ERA: "On the Use of Positional Proximity ..."
On the Use of Positional Proximity in IR-Based Feature Location
Emily Hill, Bunyamin Sisman, and Avinash Kak (Montclair State University, USA; Purdue University, USA) As software systems continue to grow and evolve, locating code for software maintenance tasks becomes increasingly difficult. Recently proposed approaches to bug localization and feature location have suggested using the positional proximity of words in the source code files and the bug reports to determine the relevance of a file to a query. Two different types of approaches have emerged for incorporating word proximity and order in retrieval: those based on ad-hoc considerations and those based on Markov Random Field (MRF) modeling. In this paper, we explore using both these types of approaches to identify over 200 features in five open source Java systems. In addition, we use positional proximity of query words within natural language (NL) phrases in order to capture the NL semantics of positional proximity. As expected, our results indicate that the power of these approaches varies from one dataset to another. However, the variations are larger for the ad-hoc positional-proximity based approaches than with the approach based on MRF. In other words, the feature location results are more consistent across the datasets with MRF based modeling of the features. @InProceedings{CSMR-WCRE14p318, author = {Emily Hill and Bunyamin Sisman and Avinash Kak}, title = {On the Use of Positional Proximity in IR-Based Feature Location}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {318--322}, doi = {}, year = {2014}, } |
|
Inoue, Katsuro |
CSMR-WCRE '14-ERA: "Recommending Verbs for Rename ..."
Recommending Verbs for Rename Method using Association Rule Mining
Yuki Kashiwabara, Yuya Onizuka, Takashi Ishio, Yasuhiro Hayase, Tetsuo Yamamoto, and Katsuro Inoue (Osaka University, Japan; University of Tsukuba, Japan; Nihon University, Japan) An identifier is one of the crucial elements for program readability. Method names in an object-oriented program are important identifiers because method names are used for understanding the behavior of the methods without reading a part of the program. It is well-known that each method name should consist of a verb and objects according to general guidelines. However, it is not easy to name methods consistently since each of the developers may have a different understanding of the verbs and objects used in the method names. As a first step to enable developers to name methods consistently and easily, we focus on the verbs used in the method names. In this paper, we present a technique to recommend candidate verbs for a method name so that developers can use consistent verbs for method names. Given a method, we recommend a list of verbs used in many other methods similar to the given method, by using association rules. We have extracted association rules from 445 OSS projects and applied these rules to two projects. As a result, the extracted rules could recommend the current verbs in the top 10 candidates for 60.6% of the methods covered by our approach. Furthermore, we have identified four meaningful groups of rules for verb recommendation. @InProceedings{CSMR-WCRE14p323, author = {Yuki Kashiwabara and Yuya Onizuka and Takashi Ishio and Yasuhiro Hayase and Tetsuo Yamamoto and Katsuro Inoue}, title = {Recommending Verbs for Rename Method using Association Rule Mining}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {323--327}, doi = {}, year = {2014}, } |
|
Ishio, Takashi |
CSMR-WCRE '14-ERA: "Recommending Verbs for Rename ..."
Recommending Verbs for Rename Method using Association Rule Mining
Yuki Kashiwabara, Yuya Onizuka, Takashi Ishio, Yasuhiro Hayase, Tetsuo Yamamoto, and Katsuro Inoue (Osaka University, Japan; University of Tsukuba, Japan; Nihon University, Japan) An identifier is one of the crucial elements for program readability. Method names in an object-oriented program are important identifiers because method names are used for understanding the behavior of the methods without reading a part of the program. It is well-known that each method name should consist of a verb and objects according to general guidelines. However, it is not easy to name methods consistently since each of the developers may have a different understanding of the verbs and objects used in the method names. As a first step to enable developers to name methods consistently and easily, we focus on the verbs used in the method names. In this paper, we present a technique to recommend candidate verbs for a method name so that developers can use consistent verbs for method names. Given a method, we recommend a list of verbs used in many other methods similar to the given method, by using association rules. We have extracted association rules from 445 OSS projects and applied these rules to two projects. As a result, the extracted rules could recommend the current verbs in the top 10 candidates for 60.6% of the methods covered by our approach. Furthermore, we have identified four meaningful groups of rules for verb recommendation. @InProceedings{CSMR-WCRE14p323, author = {Yuki Kashiwabara and Yuya Onizuka and Takashi Ishio and Yasuhiro Hayase and Tetsuo Yamamoto and Katsuro Inoue}, title = {Recommending Verbs for Rename Method using Association Rule Mining}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {323--327}, doi = {}, year = {2014}, } |
|
Kak, Avinash |
CSMR-WCRE '14-ERA: "On the Use of Positional Proximity ..."
On the Use of Positional Proximity in IR-Based Feature Location
Emily Hill, Bunyamin Sisman, and Avinash Kak (Montclair State University, USA; Purdue University, USA) As software systems continue to grow and evolve, locating code for software maintenance tasks becomes increasingly difficult. Recently proposed approaches to bug localization and feature location have suggested using the positional proximity of words in the source code files and the bug reports to determine the relevance of a file to a query. Two different types of approaches have emerged for incorporating word proximity and order in retrieval: those based on ad-hoc considerations and those based on Markov Random Field (MRF) modeling. In this paper, we explore using both these types of approaches to identify over 200 features in five open source Java systems. In addition, we use positional proximity of query words within natural language (NL) phrases in order to capture the NL semantics of positional proximity. As expected, our results indicate that the power of these approaches varies from one dataset to another. However, the variations are larger for the ad-hoc positional-proximity based approaches than with the approach based on MRF. In other words, the feature location results are more consistent across the datasets with MRF based modeling of the features. @InProceedings{CSMR-WCRE14p318, author = {Emily Hill and Bunyamin Sisman and Avinash Kak}, title = {On the Use of Positional Proximity in IR-Based Feature Location}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {318--322}, doi = {}, year = {2014}, } |
|
Kamiya, Toshihiro |
CSMR-WCRE '14-ERA: "An Algorithm for Keyword Search ..."
An Algorithm for Keyword Search on an Execution Path
Toshihiro Kamiya (Future University Hakodate, Japan) This paper presents a code-search method, which includes an algorithm of keyword code-search and a prototype implementation. In this paper, a query is a set of keywords and a search result is a set of execution paths fulfilling the query, that is, each of the execution paths includes all of the keywords. Here, an execution path represents one of all levels of method calls of all possible dynamic dispatches in an OO program; thus, many execution paths can be generated even from a small program. The algorithm works on a data structure named an And/Or/Call graph, which is a compact representation of execution paths. The prototype implementation searches names of methods or types, or words in string literals from Java source code. @InProceedings{CSMR-WCRE14p328, author = {Toshihiro Kamiya}, title = {An Algorithm for Keyword Search on an Execution Path}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {328--332}, doi = {}, year = {2014}, } |
|
Kashiwabara, Yuki |
CSMR-WCRE '14-ERA: "Recommending Verbs for Rename ..."
Recommending Verbs for Rename Method using Association Rule Mining
Yuki Kashiwabara, Yuya Onizuka, Takashi Ishio, Yasuhiro Hayase, Tetsuo Yamamoto, and Katsuro Inoue (Osaka University, Japan; University of Tsukuba, Japan; Nihon University, Japan) An identifier is one of the crucial elements for program readability. Method names in an object-oriented program are important identifiers because method names are used for understanding the behavior of the methods without reading a part of the program. It is well-known that each method name should consist of a verb and objects according to general guidelines. However, it is not easy to name methods consistently since each of the developers may have a different understanding of the verbs and objects used in the method names. As a first step to enable developers to name methods consistently and easily, we focus on the verbs used in the method names. In this paper, we present a technique to recommend candidate verbs for a method name so that developers can use consistent verbs for method names. Given a method, we recommend a list of verbs used in many other methods similar to the given method, by using association rules. We have extracted association rules from 445 OSS projects and applied these rules to two projects. As a result, the extracted rules could recommend the current verbs in the top 10 candidates for 60.6% of the methods covered by our approach. Furthermore, we have identified four meaningful groups of rules for verb recommendation. @InProceedings{CSMR-WCRE14p323, author = {Yuki Kashiwabara and Yuya Onizuka and Takashi Ishio and Yasuhiro Hayase and Tetsuo Yamamoto and Katsuro Inoue}, title = {Recommending Verbs for Rename Method using Association Rule Mining}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {323--327}, doi = {}, year = {2014}, } |
|
Lämmel, Ralf |
CSMR-WCRE '14-ERA: "Comparison of Feature Implementations ..."
Comparison of Feature Implementations across Languages, Technologies, and Styles
Ralf Lämmel, Martin Leinberger, Thomas Schmorleiz, and Andrei Varanovich (University of Koblenz-Landau, Germany) We describe and validate a method for comparing programming languages or technologies or programming styles in the context of implementing certain programming tasks. To this end, we analyze a number of 'little software systems' readily implementing a common feature set. We analyze source code, structured documentation, derived metadata, and other computed data. More specifically, we compare these systems on the grounds of the NCLOC metric while delegating more advanced metrics to future work. To reason about feature implementations in such a multi-language and multi-technological setup, we rely on an infrastructure which enriches traditional software artifacts (i.e., files in a repository) with additional metadata for implemented features as well as used languages and technologies. All resources are organized and exposed according to Linked Data principles so that they are conveniently explorable; both programmatic and interactive access is possible. The relevant formats and the underlying ontology are openly accessible and documented. @InProceedings{CSMR-WCRE14p333, author = {Ralf Lämmel and Martin Leinberger and Thomas Schmorleiz and Andrei Varanovich}, title = {Comparison of Feature Implementations across Languages, Technologies, and Styles}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {333--337}, doi = {}, year = {2014}, } |
|
Legere, Katie |
CSMR-WCRE '14-ERA: "Orchestrating Change: An Artistic ..."
Orchestrating Change: An Artistic Representation of Software Evolution
Shane McIntosh, Katie Legere, and Ahmed E. Hassan (Queen's University, Canada) Several visualization tools have been proposed to highlight interesting software evolution phenomena. These tools help practitioners to navigate large and complex software systems, and also support researchers in studying software evolution. However, little work has explored the use of sound in the context of software evolution. In this paper, we propose the use of musical interpretation to support exploration of software evolution data. In order to generate music inspired by software evolution, we use parameter-based sonification, i.e., a mapping of dataset characteristics to sound. Our approach yields musical scores that can be played synthetically or by a symphony orchestra. In designing our approach, we address three challenges: (1) the generated music must be aesthetically pleasing, (2) the generated music must accurately reflect the changes that have occurred, and (3) a small group of musicians must be able to impersonate a large development team. We assess the feasibility of our approach using historical data from Eclipse, which yields promising results. @InProceedings{CSMR-WCRE14p348, author = {Shane McIntosh and Katie Legere and Ahmed E. Hassan}, title = {Orchestrating Change: An Artistic Representation of Software Evolution}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {348--352}, doi = {}, year = {2014}, } Info |
|
Leinberger, Martin |
CSMR-WCRE '14-ERA: "Comparison of Feature Implementations ..."
Comparison of Feature Implementations across Languages, Technologies, and Styles
Ralf Lämmel, Martin Leinberger, Thomas Schmorleiz, and Andrei Varanovich (University of Koblenz-Landau, Germany) We describe and validate a method for comparing programming languages or technologies or programming styles in the context of implementing certain programming tasks. To this end, we analyze a number of 'little software systems' readily implementing a common feature set. We analyze source code, structured documentation, derived metadata, and other computed data. More specifically, we compare these systems on the grounds of the NCLOC metric while delegating more advanced metrics to future work. To reason about feature implementations in such a multi-language and multi-technological setup, we rely on an infrastructure which enriches traditional software artifacts (i.e., files in a repository) with additional metadata for implemented features as well as used languages and technologies. All resources are organized and exposed according to Linked Data principles so that they are conveniently explorable; both programmatic and interactive access is possible. The relevant formats and the underlying ontology are openly accessible and documented. @InProceedings{CSMR-WCRE14p333, author = {Ralf Lämmel and Martin Leinberger and Thomas Schmorleiz and Andrei Varanovich}, title = {Comparison of Feature Implementations across Languages, Technologies, and Styles}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {333--337}, doi = {}, year = {2014}, } |
|
Lungu, Mircea |
CSMR-WCRE '14-ERA: "Mining Frequent Bug-Fix Code ..."
Mining Frequent Bug-Fix Code Changes
Haidar Osman, Mircea Lungu, and Oscar Nierstrasz (University of Bern, Switzerland) Detecting bugs as early as possible plays an important role in ensuring software quality before shipping. We argue that mining previous bug fixes can produce good knowledge about why bugs happen and how they are fixed. In this paper, we mine the change history of 717 open source projects to extract bug-fix patterns. We also manually inspect many of the bugs we found to get insights into the contexts and reasons behind those bugs. For instance, we found out that missing null checks and missing initializations are very recurrent and we believe that they can be automatically detected and fixed. @InProceedings{CSMR-WCRE14p343, author = {Haidar Osman and Mircea Lungu and Oscar Nierstrasz}, title = {Mining Frequent Bug-Fix Code Changes}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {343--347}, doi = {}, year = {2014}, } |
|
McIntosh, Shane |
CSMR-WCRE '14-ERA: "Orchestrating Change: An Artistic ..."
Orchestrating Change: An Artistic Representation of Software Evolution
Shane McIntosh, Katie Legere, and Ahmed E. Hassan (Queen's University, Canada) Several visualization tools have been proposed to highlight interesting software evolution phenomena. These tools help practitioners to navigate large and complex software systems, and also support researchers in studying software evolution. However, little work has explored the use of sound in the context of software evolution. In this paper, we propose the use of musical interpretation to support exploration of software evolution data. In order to generate music inspired by software evolution, we use parameter-based sonification, i.e., a mapping of dataset characteristics to sound. Our approach yields musical scores that can be played synthetically or by a symphony orchestra. In designing our approach, we address three challenges: (1) the generated music must be aesthetically pleasing, (2) the generated music must accurately reflect the changes that have occurred, and (3) a small group of musicians must be able to impersonate a large development team. We assess the feasibility of our approach using historical data from Eclipse, which yields promising results. @InProceedings{CSMR-WCRE14p348, author = {Shane McIntosh and Katie Legere and Ahmed E. Hassan}, title = {Orchestrating Change: An Artistic Representation of Software Evolution}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {348--352}, doi = {}, year = {2014}, } Info |
|
Mens, Tom |
CSMR-WCRE '14-ERA: "Co-evolving Code-Related and ..."
Co-evolving Code-Related and Database-Related Changes in a Data-Intensive Software System
Mathieu Goeminne, Alexandre Decan , and Tom Mens (University of Mons, Belgium) Current empirical studies on the evolution of software systems are primarily analysing source code. Sometimes, social aspects such as the activity of contributors are considered as well. Very few studies, however, focus on data-intensive software systems (DISS), in which a significant part of the total development effort is devoted to maintaining and evolving the database schema. We report on early results obtained in the empirical analysis of the co-evolution between code-related and database-related activities in a large open source DISS. As a case study, we have analysed OSCAR, for which the historical information spanning many years is available in a Git repository. @InProceedings{CSMR-WCRE14p353, author = {Mathieu Goeminne and Alexandre Decan and Tom Mens}, title = {Co-evolving Code-Related and Database-Related Changes in a Data-Intensive Software System}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {353--357}, doi = {}, year = {2014}, } CSMR-WCRE '14-ERA: "On the Maintainability of ..." On the Maintainability of CRAN Packages Maëlick Claes, Tom Mens, and Philippe Grosjean (University of Mons, Belgium) When writing software, developers are confronted with a trade-off between depending on existing components and reimplementing similar functionality in their own code. Errors may be inadvertently introduced because of dependencies to unreliable components, and it may take longer time to fix these errors. We study such issues in the context of the CRAN archive, a long-lived software ecosystem consisting of over 5000 R packages being actively maintained by over 2500 maintainers, with different flavors of each package depending on the development status and target operating system. Based on an analysis of package dependencies and package status, we present preliminary results on the sources of errors in these packages per flavor, and the time that is needed to fix these errors. @InProceedings{CSMR-WCRE14p308, author = {Maëlick Claes and Tom Mens and Philippe Grosjean}, title = {On the Maintainability of CRAN Packages}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {308--312}, doi = {}, year = {2014}, } |
|
Mondal, Manishankar |
CSMR-WCRE '14-ERA: "Improving the Detection Accuracy ..."
Improving the Detection Accuracy of Evolutionary Coupling by Measuring Change Correspondence
Manishankar Mondal, Chanchal K. Roy, and Kevin A. Schneider (University of Saskatchewan, Canada) If two or more program entities change together (i.e., co-change) frequently (i.e., in many commits) during software evolution, it is likely that the entities are related and we say that the entities are showing evolutionary coupling. Association rules have been used to express evolutionary coupling and two related measures, support and confidence, have been used to measure the strength of coupling among the co-changed entities. However, an association rule relies only on the number of times the entities have co-changed. It does not analyze whether the changes are corresponding and whether the entities are really related. As a result, association rule often reports false positives and also, ignores important coupling among the infrequently co-changed entities. Focusing on this issue we propose to calculate a new measure, change correspondence, blending the idea of concept location in a code-base to determine whether the changes to the co-changed entities are corresponding and thus, whether they are really related. Our preliminary investigation result on four subject systems written in two programming languages shows that change correspondence has the potential to accurately determine whether two entities are related even if they co-changed infrequently. Thus, we believe that our new measure will help us improve the detection accuracy of evolutionary coupling. @InProceedings{CSMR-WCRE14p358, author = {Manishankar Mondal and Chanchal K. Roy and Kevin A. Schneider}, title = {Improving the Detection Accuracy of Evolutionary Coupling by Measuring Change Correspondence}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {358--362}, doi = {}, year = {2014}, } |
|
Nierstrasz, Oscar |
CSMR-WCRE '14-ERA: "Mining Frequent Bug-Fix Code ..."
Mining Frequent Bug-Fix Code Changes
Haidar Osman, Mircea Lungu, and Oscar Nierstrasz (University of Bern, Switzerland) Detecting bugs as early as possible plays an important role in ensuring software quality before shipping. We argue that mining previous bug fixes can produce good knowledge about why bugs happen and how they are fixed. In this paper, we mine the change history of 717 open source projects to extract bug-fix patterns. We also manually inspect many of the bugs we found to get insights into the contexts and reasons behind those bugs. For instance, we found out that missing null checks and missing initializations are very recurrent and we believe that they can be automatically detected and fixed. @InProceedings{CSMR-WCRE14p343, author = {Haidar Osman and Mircea Lungu and Oscar Nierstrasz}, title = {Mining Frequent Bug-Fix Code Changes}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {343--347}, doi = {}, year = {2014}, } |
|
Onizuka, Yuya |
CSMR-WCRE '14-ERA: "Recommending Verbs for Rename ..."
Recommending Verbs for Rename Method using Association Rule Mining
Yuki Kashiwabara, Yuya Onizuka, Takashi Ishio, Yasuhiro Hayase, Tetsuo Yamamoto, and Katsuro Inoue (Osaka University, Japan; University of Tsukuba, Japan; Nihon University, Japan) An identifier is one of the crucial elements for program readability. Method names in an object-oriented program are important identifiers because method names are used for understanding the behavior of the methods without reading a part of the program. It is well-known that each method name should consist of a verb and objects according to general guidelines. However, it is not easy to name methods consistently since each of the developers may have a different understanding of the verbs and objects used in the method names. As a first step to enable developers to name methods consistently and easily, we focus on the verbs used in the method names. In this paper, we present a technique to recommend candidate verbs for a method name so that developers can use consistent verbs for method names. Given a method, we recommend a list of verbs used in many other methods similar to the given method, by using association rules. We have extracted association rules from 445 OSS projects and applied these rules to two projects. As a result, the extracted rules could recommend the current verbs in the top 10 candidates for 60.6% of the methods covered by our approach. Furthermore, we have identified four meaningful groups of rules for verb recommendation. @InProceedings{CSMR-WCRE14p323, author = {Yuki Kashiwabara and Yuya Onizuka and Takashi Ishio and Yasuhiro Hayase and Tetsuo Yamamoto and Katsuro Inoue}, title = {Recommending Verbs for Rename Method using Association Rule Mining}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {323--327}, doi = {}, year = {2014}, } |
|
Osman, Haidar |
CSMR-WCRE '14-ERA: "Mining Frequent Bug-Fix Code ..."
Mining Frequent Bug-Fix Code Changes
Haidar Osman, Mircea Lungu, and Oscar Nierstrasz (University of Bern, Switzerland) Detecting bugs as early as possible plays an important role in ensuring software quality before shipping. We argue that mining previous bug fixes can produce good knowledge about why bugs happen and how they are fixed. In this paper, we mine the change history of 717 open source projects to extract bug-fix patterns. We also manually inspect many of the bugs we found to get insights into the contexts and reasons behind those bugs. For instance, we found out that missing null checks and missing initializations are very recurrent and we believe that they can be automatically detected and fixed. @InProceedings{CSMR-WCRE14p343, author = {Haidar Osman and Mircea Lungu and Oscar Nierstrasz}, title = {Mining Frequent Bug-Fix Code Changes}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {343--347}, doi = {}, year = {2014}, } |
|
Rizzo, Giuseppe |
CSMR-WCRE '14-ERA: "Spotting Automatically Cross-Language ..."
Spotting Automatically Cross-Language Relations
Federico Tomassetti, Giuseppe Rizzo, and Marco Torchiano (Politecnico di Torino, Italy; Università di Torino, Italy; EURECOM, France) Nowadays most of the software projects are coded using several formal languages, either spread on different artifacts or even embedded in the same one. These formal languages are linked each other using cross-language relations, mainly framework specific and established at runtime. In this work we present a language agnostic approach to automatically detect cross-language relations to ease re-factoring, validation and to allow navigation support to the developer. We map a project in a set of Abstract Syntax Trees (ASTs); pair-wise we compute the intersection of the nodes and we pre-select potential candidates that can hold cross-relations. We then factorize the ASTs according to the nodes which surround the candidate and pair-wise we compute the semantic similarity of the factorized trees. We narrow down a set of statistically significant features and we map them into a predictive model. We apply such a procedure to an AngularJS application and we show that this approach spots cross-language relations at fine grained level with 93.2% of recall and a F-measure of 92.2%. @InProceedings{CSMR-WCRE14p338, author = {Federico Tomassetti and Giuseppe Rizzo and Marco Torchiano}, title = {Spotting Automatically Cross-Language Relations}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {338--342}, doi = {}, year = {2014}, } |
|
Roy, Chanchal K. |
CSMR-WCRE '14-ERA: "Improving the Detection Accuracy ..."
Improving the Detection Accuracy of Evolutionary Coupling by Measuring Change Correspondence
Manishankar Mondal, Chanchal K. Roy, and Kevin A. Schneider (University of Saskatchewan, Canada) If two or more program entities change together (i.e., co-change) frequently (i.e., in many commits) during software evolution, it is likely that the entities are related and we say that the entities are showing evolutionary coupling. Association rules have been used to express evolutionary coupling and two related measures, support and confidence, have been used to measure the strength of coupling among the co-changed entities. However, an association rule relies only on the number of times the entities have co-changed. It does not analyze whether the changes are corresponding and whether the entities are really related. As a result, association rule often reports false positives and also, ignores important coupling among the infrequently co-changed entities. Focusing on this issue we propose to calculate a new measure, change correspondence, blending the idea of concept location in a code-base to determine whether the changes to the co-changed entities are corresponding and thus, whether they are really related. Our preliminary investigation result on four subject systems written in two programming languages shows that change correspondence has the potential to accurately determine whether two entities are related even if they co-changed infrequently. Thus, we believe that our new measure will help us improve the detection accuracy of evolutionary coupling. @InProceedings{CSMR-WCRE14p358, author = {Manishankar Mondal and Chanchal K. Roy and Kevin A. Schneider}, title = {Improving the Detection Accuracy of Evolutionary Coupling by Measuring Change Correspondence}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {358--362}, doi = {}, year = {2014}, } |
|
Schmorleiz, Thomas |
CSMR-WCRE '14-ERA: "Comparison of Feature Implementations ..."
Comparison of Feature Implementations across Languages, Technologies, and Styles
Ralf Lämmel, Martin Leinberger, Thomas Schmorleiz, and Andrei Varanovich (University of Koblenz-Landau, Germany) We describe and validate a method for comparing programming languages or technologies or programming styles in the context of implementing certain programming tasks. To this end, we analyze a number of 'little software systems' readily implementing a common feature set. We analyze source code, structured documentation, derived metadata, and other computed data. More specifically, we compare these systems on the grounds of the NCLOC metric while delegating more advanced metrics to future work. To reason about feature implementations in such a multi-language and multi-technological setup, we rely on an infrastructure which enriches traditional software artifacts (i.e., files in a repository) with additional metadata for implemented features as well as used languages and technologies. All resources are organized and exposed according to Linked Data principles so that they are conveniently explorable; both programmatic and interactive access is possible. The relevant formats and the underlying ontology are openly accessible and documented. @InProceedings{CSMR-WCRE14p333, author = {Ralf Lämmel and Martin Leinberger and Thomas Schmorleiz and Andrei Varanovich}, title = {Comparison of Feature Implementations across Languages, Technologies, and Styles}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {333--337}, doi = {}, year = {2014}, } |
|
Schneider, Kevin A. |
CSMR-WCRE '14-ERA: "Improving the Detection Accuracy ..."
Improving the Detection Accuracy of Evolutionary Coupling by Measuring Change Correspondence
Manishankar Mondal, Chanchal K. Roy, and Kevin A. Schneider (University of Saskatchewan, Canada) If two or more program entities change together (i.e., co-change) frequently (i.e., in many commits) during software evolution, it is likely that the entities are related and we say that the entities are showing evolutionary coupling. Association rules have been used to express evolutionary coupling and two related measures, support and confidence, have been used to measure the strength of coupling among the co-changed entities. However, an association rule relies only on the number of times the entities have co-changed. It does not analyze whether the changes are corresponding and whether the entities are really related. As a result, association rule often reports false positives and also, ignores important coupling among the infrequently co-changed entities. Focusing on this issue we propose to calculate a new measure, change correspondence, blending the idea of concept location in a code-base to determine whether the changes to the co-changed entities are corresponding and thus, whether they are really related. Our preliminary investigation result on four subject systems written in two programming languages shows that change correspondence has the potential to accurately determine whether two entities are related even if they co-changed infrequently. Thus, we believe that our new measure will help us improve the detection accuracy of evolutionary coupling. @InProceedings{CSMR-WCRE14p358, author = {Manishankar Mondal and Chanchal K. Roy and Kevin A. Schneider}, title = {Improving the Detection Accuracy of Evolutionary Coupling by Measuring Change Correspondence}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {358--362}, doi = {}, year = {2014}, } |
|
Sisman, Bunyamin |
CSMR-WCRE '14-ERA: "On the Use of Positional Proximity ..."
On the Use of Positional Proximity in IR-Based Feature Location
Emily Hill, Bunyamin Sisman, and Avinash Kak (Montclair State University, USA; Purdue University, USA) As software systems continue to grow and evolve, locating code for software maintenance tasks becomes increasingly difficult. Recently proposed approaches to bug localization and feature location have suggested using the positional proximity of words in the source code files and the bug reports to determine the relevance of a file to a query. Two different types of approaches have emerged for incorporating word proximity and order in retrieval: those based on ad-hoc considerations and those based on Markov Random Field (MRF) modeling. In this paper, we explore using both these types of approaches to identify over 200 features in five open source Java systems. In addition, we use positional proximity of query words within natural language (NL) phrases in order to capture the NL semantics of positional proximity. As expected, our results indicate that the power of these approaches varies from one dataset to another. However, the variations are larger for the ad-hoc positional-proximity based approaches than with the approach based on MRF. In other words, the feature location results are more consistent across the datasets with MRF based modeling of the features. @InProceedings{CSMR-WCRE14p318, author = {Emily Hill and Bunyamin Sisman and Avinash Kak}, title = {On the Use of Positional Proximity in IR-Based Feature Location}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {318--322}, doi = {}, year = {2014}, } |
|
Tomassetti, Federico |
CSMR-WCRE '14-ERA: "Spotting Automatically Cross-Language ..."
Spotting Automatically Cross-Language Relations
Federico Tomassetti, Giuseppe Rizzo, and Marco Torchiano (Politecnico di Torino, Italy; Università di Torino, Italy; EURECOM, France) Nowadays most of the software projects are coded using several formal languages, either spread on different artifacts or even embedded in the same one. These formal languages are linked each other using cross-language relations, mainly framework specific and established at runtime. In this work we present a language agnostic approach to automatically detect cross-language relations to ease re-factoring, validation and to allow navigation support to the developer. We map a project in a set of Abstract Syntax Trees (ASTs); pair-wise we compute the intersection of the nodes and we pre-select potential candidates that can hold cross-relations. We then factorize the ASTs according to the nodes which surround the candidate and pair-wise we compute the semantic similarity of the factorized trees. We narrow down a set of statistically significant features and we map them into a predictive model. We apply such a procedure to an AngularJS application and we show that this approach spots cross-language relations at fine grained level with 93.2% of recall and a F-measure of 92.2%. @InProceedings{CSMR-WCRE14p338, author = {Federico Tomassetti and Giuseppe Rizzo and Marco Torchiano}, title = {Spotting Automatically Cross-Language Relations}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {338--342}, doi = {}, year = {2014}, } |
|
Torchiano, Marco |
CSMR-WCRE '14-ERA: "Spotting Automatically Cross-Language ..."
Spotting Automatically Cross-Language Relations
Federico Tomassetti, Giuseppe Rizzo, and Marco Torchiano (Politecnico di Torino, Italy; Università di Torino, Italy; EURECOM, France) Nowadays most of the software projects are coded using several formal languages, either spread on different artifacts or even embedded in the same one. These formal languages are linked each other using cross-language relations, mainly framework specific and established at runtime. In this work we present a language agnostic approach to automatically detect cross-language relations to ease re-factoring, validation and to allow navigation support to the developer. We map a project in a set of Abstract Syntax Trees (ASTs); pair-wise we compute the intersection of the nodes and we pre-select potential candidates that can hold cross-relations. We then factorize the ASTs according to the nodes which surround the candidate and pair-wise we compute the semantic similarity of the factorized trees. We narrow down a set of statistically significant features and we map them into a predictive model. We apply such a procedure to an AngularJS application and we show that this approach spots cross-language relations at fine grained level with 93.2% of recall and a F-measure of 92.2%. @InProceedings{CSMR-WCRE14p338, author = {Federico Tomassetti and Giuseppe Rizzo and Marco Torchiano}, title = {Spotting Automatically Cross-Language Relations}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {338--342}, doi = {}, year = {2014}, } |
|
Varanovich, Andrei |
CSMR-WCRE '14-ERA: "Comparison of Feature Implementations ..."
Comparison of Feature Implementations across Languages, Technologies, and Styles
Ralf Lämmel, Martin Leinberger, Thomas Schmorleiz, and Andrei Varanovich (University of Koblenz-Landau, Germany) We describe and validate a method for comparing programming languages or technologies or programming styles in the context of implementing certain programming tasks. To this end, we analyze a number of 'little software systems' readily implementing a common feature set. We analyze source code, structured documentation, derived metadata, and other computed data. More specifically, we compare these systems on the grounds of the NCLOC metric while delegating more advanced metrics to future work. To reason about feature implementations in such a multi-language and multi-technological setup, we rely on an infrastructure which enriches traditional software artifacts (i.e., files in a repository) with additional metadata for implemented features as well as used languages and technologies. All resources are organized and exposed according to Linked Data principles so that they are conveniently explorable; both programmatic and interactive access is possible. The relevant formats and the underlying ontology are openly accessible and documented. @InProceedings{CSMR-WCRE14p333, author = {Ralf Lämmel and Martin Leinberger and Thomas Schmorleiz and Andrei Varanovich}, title = {Comparison of Feature Implementations across Languages, Technologies, and Styles}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {333--337}, doi = {}, year = {2014}, } |
|
Yamamoto, Tetsuo |
CSMR-WCRE '14-ERA: "Recommending Verbs for Rename ..."
Recommending Verbs for Rename Method using Association Rule Mining
Yuki Kashiwabara, Yuya Onizuka, Takashi Ishio, Yasuhiro Hayase, Tetsuo Yamamoto, and Katsuro Inoue (Osaka University, Japan; University of Tsukuba, Japan; Nihon University, Japan) An identifier is one of the crucial elements for program readability. Method names in an object-oriented program are important identifiers because method names are used for understanding the behavior of the methods without reading a part of the program. It is well-known that each method name should consist of a verb and objects according to general guidelines. However, it is not easy to name methods consistently since each of the developers may have a different understanding of the verbs and objects used in the method names. As a first step to enable developers to name methods consistently and easily, we focus on the verbs used in the method names. In this paper, we present a technique to recommend candidate verbs for a method name so that developers can use consistent verbs for method names. Given a method, we recommend a list of verbs used in many other methods similar to the given method, by using association rules. We have extracted association rules from 445 OSS projects and applied these rules to two projects. As a result, the extracted rules could recommend the current verbs in the top 10 candidates for 60.6% of the methods covered by our approach. Furthermore, we have identified four meaningful groups of rules for verb recommendation. @InProceedings{CSMR-WCRE14p323, author = {Yuki Kashiwabara and Yuya Onizuka and Takashi Ishio and Yasuhiro Hayase and Tetsuo Yamamoto and Katsuro Inoue}, title = {Recommending Verbs for Rename Method using Association Rule Mining}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {323--327}, doi = {}, year = {2014}, } |
|
Zaytsev, Vadim |
CSMR-WCRE '14-ERA: "Formal Foundations for Semi-parsing ..."
Formal Foundations for Semi-parsing
Vadim Zaytsev (University of Amsterdam, Netherlands) There exist many techniques for imprecise manipulation of source code (robust parsing, error repair, lexical analysis, etc), mostly relying on heuristic-based tolerance. Such techniques are rarely fully formalised and quite often idiosyncratic, which makes them very hard to compare with respect to their applicability, tolerance level and general usefulness. With a combination of recently developed formal methods such as Boolean grammars and parsing schemata, we can model different tolerant methods of modelling software and formally argue about relationships between them. @InProceedings{CSMR-WCRE14p313, author = {Vadim Zaytsev}, title = {Formal Foundations for Semi-parsing}, booktitle = {Proc.\ CSMR-WCRE}, publisher = {IEEE}, pages = {313--317}, doi = {}, year = {2014}, } |
34 authors
proc time: 0.3