M. Beron, M. Pereira, Nuno Oliveira, Daniela Carneiro da Cruz
{"title":"SVS, BORS, SVSi: Three Strategies to Relate Problem and Program Domains","authors":"M. Beron, M. Pereira, Nuno Oliveira, Daniela Carneiro da Cruz","doi":"10.1109/ICPC.2010.24","DOIUrl":"https://doi.org/10.1109/ICPC.2010.24","url":null,"abstract":"Program Comprehension is improved if: i) the Problem and Program Domains can be related, and ii) this relation is shown in a suitable way to the programmer. Currently, there are few strategies for reaching this important goal because it is not easy to: i) Identify meaningful representations of the problem and program domains, and ii) Define a linking procedure. This poster describes three strategies to overcome the difficulties mentioned above. These strategies use static and dynamic information and traditional compilation techniques for relating both domains.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"53 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":"124937010","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}
Jean-Rémy Falleri, M. Huchard, Mathieu Lafourcade, C. Nebut, V. Prince, M. Dao
{"title":"Automatic Extraction of a WordNet-Like Identifier Network from Software","authors":"Jean-Rémy Falleri, M. Huchard, Mathieu Lafourcade, C. Nebut, V. Prince, M. Dao","doi":"10.1109/ICPC.2010.12","DOIUrl":"https://doi.org/10.1109/ICPC.2010.12","url":null,"abstract":"A large part of the time allocated to software maintenance is dedicated to the program comprehension. Many approaches that uses the program structure or the external documentation have been created to assist program comprehension. However, the identifiers of the program are an important source of information that is still not widely used for this purpose. In this article, we propose an approach, based upon Natural Language Processing techniques, that automatically extracts and organizes concepts from software identifiers in a WordNet-like structure that we call textit{lexical views}. These lexical views give useful insight on an overall software architecture and can be used to improve results of many software engineering tasks. The proposal is evaluated against a corpus of 24 open source programs.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"142 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":"123247785","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}
Eric Bouwers, Joost Visser, Carola Lilienthal, A. Deursen
{"title":"A Cognitive Model for Software Architecture Complexity","authors":"Eric Bouwers, Joost Visser, Carola Lilienthal, A. Deursen","doi":"10.1109/ICPC.2010.28","DOIUrl":"https://doi.org/10.1109/ICPC.2010.28","url":null,"abstract":"This paper introduces a Software Architecture Complexity Model (SACM) based on theories from cognitive science and system attributes that have proven to be indicators of maintainability in practice. SACM can serve as a formal model to reason about why certain attributes influence the complexity of an implemented architecture. Also, SACM can be used as a starting point in existing architecture evaluation methods such as the ATAM. Alternatively, SACM can be used in a stand-alone fashion to reason about a software architecture's complexity.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"7 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":"128089358","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":"Contract-Based Slicing Helps on Safety Reuse","authors":"Sergio Areias, Daniela Carneiro da Cruz, J. Pinto","doi":"10.1109/ICPC.2010.44","DOIUrl":"https://doi.org/10.1109/ICPC.2010.44","url":null,"abstract":"In this poster we describe a work in progress aimed at using a variant of specification-based slicing to improve the reuse of annotated software components, developed under the so called design-by-contract approach. We have named this variant as contract-based because we use the annotations, more precisely the pre and post-conditions, to slice programs intra and inter-procedures. The idea, expressed in the poster, is to take the pre-condition of the reused annotated component as slicing criterion, and slice backward the program where the component is called. In that way, we can isolate the statements that have influence on the variables involved on the pre-condition and check if it is preserved by that invocation, or not.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"177 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":"132388903","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":"Case Study of Feature Location Using Dependence Graph, after 10 Years","authors":"Kunrong Chen, V. Rajlich","doi":"10.1109/ICPC.2010.40","DOIUrl":"https://doi.org/10.1109/ICPC.2010.40","url":null,"abstract":"This retrospective briefly recapitulates the original paper that was published at IWPC 2000, overviews selected papers that were published in its wake, presents recent clarifications and updates of the topic, and mentions the still unfinished agenda and future work.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"454 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":"116176252","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":"From Program Comprehension to People Comprehension","authors":"Andrew Begel","doi":"10.1109/ICPC.2010.42","DOIUrl":"https://doi.org/10.1109/ICPC.2010.42","url":null,"abstract":"Large-scale software engineering requires many teams to collaborate together to create software products. The problems these teams suffer trying to coordinate their joint work can be addressed through tools inspired by social networking. Social networking tools help people to more easily discover and more efficiently maintain relationships than is feasible using one-to-one or face-to-face interactions. Applying these ideas to the software domain requires new kinds and combinations of software program and process analyses that overcome intrinsic limitations in the accuracy of the underlying data sources and the ambiguity inherent in human relationships.","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":"130399187","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":"Measuring Class Importance in the Context of Design Evolution","authors":"M. Hammad, M. Collard, Jonathan I. Maletic","doi":"10.1109/ICPC.2010.31","DOIUrl":"https://doi.org/10.1109/ICPC.2010.31","url":null,"abstract":"A measure of how a class is impacted during design evolution is presented. The history of design changes that involve a given class is the basis for the measure. Classes that are often impacted by design changes are branded as important to the design of the system. Identifying these important classes helps reveal what parts of the system are regularly evolved (e.g., specific features or cross-cutting concerns). The design importance of a class is measured as the number of commits that impact both the design and the class. This is also measured for sets of classes that collaborate to realize a feature or concept in the system. Collaborating classes are identified using itemset mining on commits that impact the design. A small study is presented on two open source projects to illustrate the approach.","PeriodicalId":110667,"journal":{"name":"2010 IEEE 18th International Conference on Program Comprehension","volume":"23 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":"125573948","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":"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":"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}