{"title":"Visualizing the Results of Field Testing","authors":"Brian Chan, Ying Zou, A. Hassan, Anand Sinha","doi":"10.1109/ICPC.2010.9","DOIUrl":"https://doi.org/10.1109/ICPC.2010.9","url":null,"abstract":"Field testing of software is necessary to find potential user problems before market deployment. The large number of users involved in field testing along with the variety of problems reported by them increases the complexity of managing the field testing process. However, most field testing processes are monitored using ad-hoc techniques and simple metrics (e.g., the number of reported problems). Deeper analysis and tracking of field testing results is needed. This paper introduces visualization techniques which provide a global view of the field testing results. The techniques focus on the relation between users and their reported problems. The visualizations help identify general patterns to locate the problems. For example, the technique identifies groups of users with similar problem profiles. Such knowledge helps reduce the number of needed users since we can pick representative users. We demonstrate our proposed techniques using the field testing results for four releases of a large scale enterprise application used by millions of users worldwide.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130010775","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"On the Comparability of Software Clustering Algorithms","authors":"Mark Shtern, Vassilios Tzerpos","doi":"10.1109/ICPC.2010.25","DOIUrl":"https://doi.org/10.1109/ICPC.2010.25","url":null,"abstract":"Evaluation of software clustering algorithms is typically done by comparing the clustering results to an authoritative decomposition prepared manually by a system expert. A well-known drawback of this approach is the fact that there are many, equally valid ways to decompose a software system, since different clustering objectives create different decompositions. Evaluating all clustering algorithms against a single authoritative decomposition can lead to biased results. In this paper, we introduce and quantify the notion of clustering algorithm comparability. It is based on the concept that algorithms with different objectives should not be directly compared. Not surprisingly, we find that several of the published algorithms in the literature are not comparable to each other.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125216662","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Towards Developing a Meta-model for Comprehending Software Adaptability","authors":"M. Amoui, Sen Li, E. Junior, L. Tahvildari","doi":"10.1109/ICPC.2010.50","DOIUrl":"https://doi.org/10.1109/ICPC.2010.50","url":null,"abstract":"To modernize legacy software into adaptable software, a program understanding procedure is needed to study software for identifying the mechanisms that support adaptability. Though the procedure can benefit from modeling techniques, current software meta-models do not fully support particular aspects of software adaptability. The goal of this research is to develop a meta-model, which facilitate comprehending applications for adaptability by annotating a set of pre-determined adaptability factors in software models. To this end, we investigate application-level sensing and effecting mechanisms, identify the core adaptability factors, and propose a meta-model for adaptability.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130702486","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Using Data Fusion and Web Mining to Support Feature Location in Software","authors":"Meghan Revelle, Bogdan Dit, D. Poshyvanyk","doi":"10.1109/ICPC.2010.10","DOIUrl":"https://doi.org/10.1109/ICPC.2010.10","url":null,"abstract":"Data fusion is the process of integrating multiple sources of information such that their combination yields better results than if the data sources are used individually. This paper applies the idea of data fusion to feature location, the process of identifying the source code that implements specific functionality in software. A data fusion model for feature location is presented which defines new feature location techniques based on combining information from textual, dynamic, and web mining analyses applied to software. A novel contribution of the proposed model is the use of advanced web mining algorithms to analyze execution information during feature location. The results of an extensive evaluation indicate that the new feature location techniques based on web mining improve the effectiveness of existing approaches by as much as 62%.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"387 4","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120891210","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Domenico Amalfitano, A. R. Fasolino, Armando Polcaro, Porfirio Tramontana
{"title":"DynaRIA: A Tool for Ajax Web Application Comprehension","authors":"Domenico Amalfitano, A. R. Fasolino, Armando Polcaro, Porfirio Tramontana","doi":"10.1109/ICPC.2010.16","DOIUrl":"https://doi.org/10.1109/ICPC.2010.16","url":null,"abstract":"Thanks to Rich Internet Applications (RIAs) with their enhanced interactivity, responsiveness and dynamicity, the user experience in the Web 2.0 is becoming more and more appealing and user-friendly. At the same time, the dynamic nature of RIAs, and the heterogeneous technologies, frameworks, communication models used for implementing them negatively affect their analyzability and understandability, so that specific software techniques and tools are needed for supporting their comprehension. This paper presents DynaRIA, a tool for the comprehension of RIAs implemented in Ajax that is based on dynamic analysis and provides functionalities for recording and analyzing user sessions from several perspectives, and producing various types of abstractions and visualizations about the run-time behaviour of the application.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116220322","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Identification of Idiom Usage in C++ Generic Libraries","authors":"A. Sutton, Ryan Holeman, Jonathan I. Maletic","doi":"10.1109/ICPC.2010.37","DOIUrl":"https://doi.org/10.1109/ICPC.2010.37","url":null,"abstract":"A tool supporting the automatic identification of programming idioms specific to the construction of C++ generic libraries is presented. The goal is to assist developers in understanding the complex syntactic elements of these libraries. Large C++ generic libraries are notorious for being extremely difficult to comprehend due to their use of advanced language features and idiomatic nature. To facilitate automated identification, the idioms are equated to micropatterns, which can be evaluated by a fact extractor. These micropattern instances act as beacons for the idioms being identified. The method is applied to study a number of widely used open source C++ generic libraries.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130463396","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Exploring the Relationships between Design Metrics and Package Understandability: A Case Study","authors":"Mahmoud O. Elish","doi":"10.1109/ICPC.2010.43","DOIUrl":"https://doi.org/10.1109/ICPC.2010.43","url":null,"abstract":"In object-oriented designs, packages represent important high-level organization units that group classes. This paper explores the relationships between five package-level metrics and the average effort required to understand a package in object-oriented design. These metrics measure different structural properties of a package such as size, coupling and stability. A case study was conducted using eighteen packages taken from two open source software systems. Correlation, collinearity, and multivariate regression analyses were performed. The results obtained from this study indicate statistically significant correlation between most of the metrics and understandability of a package.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128010029","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Renaming Parts of Identifiers Consistently within Code Clones","authors":"P. Jablonski, Daqing Hou","doi":"10.1109/ICPC.2010.23","DOIUrl":"https://doi.org/10.1109/ICPC.2010.23","url":null,"abstract":"Copying and pasting source code results in code duplication. A common form of software reuse involves modifying the new duplicate to fit a current task. The similar code fragments (code clones) may be edited inconsistently by the programmer, for various reasons, leaving a bug in the software that may remain undetected by both the programmer and the compiler. A previously published tool, CReN, helps the programmer by automatically renaming all instances of the same identifier consistently within a clone when one is edited. In this tool demo, we introduce an extension of CReN, an Eclipse plug-in named LexId, which renames the same parts of different identifiers consistently together within code clones.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134569834","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"The ConAn Tool to Identify Crosscutting Concerns in Object Oriented Systems","authors":"M. Bernardi, G. D. Lucca","doi":"10.1109/ICPC.2010.34","DOIUrl":"https://doi.org/10.1109/ICPC.2010.34","url":null,"abstract":"This paper presents the main features of Con An, a tool supporting an approach to find scattered and tangled class members in OO systems and to group them in concerns. The recovered information is useful for refactoring/migration tasks, such as towards Aspect Oriented Programming (AOP).","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"137 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131338162","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Recognizing Sorting Algorithms with the C4.5 Decision Tree Classifier","authors":"A. Taherkhani","doi":"10.1109/ICPC.2010.11","DOIUrl":"https://doi.org/10.1109/ICPC.2010.11","url":null,"abstract":"We present a method for automatic algorithm recognition, which consists of two phases. First, the target algorithms are converted into characteristic vectors, which are computed based on static analysis of program code including various statistics of language constructs and analysis of Roles of Variables. In the second phase, the algorithms are classified based on these vectors using the C4.5 decision tree classifier. We have developed a prototype and successfully applied the method to sorting algorithms. Evaluated with leave-one-out technique, the accuracy of the constructed decision tree classifier is 97.1%.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"84 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123600152","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}