15th IEEE International Conference on Program Comprehension (ICPC '07)最新文献

筛选
英文 中文
Recovering Workflows from Multi Tiered E-commerce Systems 从多层电子商务系统中恢复工作流
15th IEEE International Conference on Program Comprehension (ICPC '07) Pub Date : 2007-06-26 DOI: 10.1109/ICPC.2007.32
Maokeng Hung, Ying Zou
{"title":"Recovering Workflows from Multi Tiered E-commerce Systems","authors":"Maokeng Hung, Ying Zou","doi":"10.1109/ICPC.2007.32","DOIUrl":"https://doi.org/10.1109/ICPC.2007.32","url":null,"abstract":"A workflow is a computerized specification of a business process. A workflow describes how tasks are executed and ordered following business policies. E-commerce systems implement the workflows of the daily operations of an organization. Organizations must continuously modify their e-commerce systems in order to accommodate workflow changes. However, e-commerce systems are often designed and developed without referring to the workflows. Modifying e-commerce systems is a time consuming and error prone task. In order to correctly perform this task, developers require an in-depth understanding of multi tiered e-commerce systems and the workflows that they implement. In this paper, we present an approach which automatically recovers workflows from three tier e-commerce systems. Given the starting UI page of a particular workflow, the approach traces the flow of control throughout the different tiers of the e-commerce system in order to recover that workflow. We demonstrate the effectiveness of our approach through experiments on an open source e-commerce system.","PeriodicalId":135871,"journal":{"name":"15th IEEE International Conference on Program Comprehension (ICPC '07)","volume":"51 3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-06-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123702920","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}
引用次数: 23
Use of a Genetic Algorithm to Identify Source Code Metrics Which Improves Cognitive Complexity Predictive Models 使用遗传算法识别源代码度量,提高认知复杂性预测模型
15th IEEE International Conference on Program Comprehension (ICPC '07) Pub Date : 2007-06-26 DOI: 10.1109/ICPC.2007.40
R. Vivanco
{"title":"Use of a Genetic Algorithm to Identify Source Code Metrics Which Improves Cognitive Complexity Predictive Models","authors":"R. Vivanco","doi":"10.1109/ICPC.2007.40","DOIUrl":"https://doi.org/10.1109/ICPC.2007.40","url":null,"abstract":"In empirical software engineering predictive models can be used to classify components as overly complex. Such modules could lead to faults, and as such, may be in need of mitigating actions such as refactoring or more exhaustive testing. Source code metrics can be used as input features for a classifier, however, there exist a large number of measures that capture different aspects of coupling, cohesion, inheritance, complexity and size. In a large dimensional feature space some of the metrics may be irrelevant or redundant. Feature selection is the process of identifying a subset of the attributes that improves a classifier's discriminatory performance. This paper presents initial results of a genetic algorithm as a feature subset selection method that enhances a classifier's ability to discover cognitively complex classes that degrade program understanding.","PeriodicalId":135871,"journal":{"name":"15th IEEE International Conference on Program Comprehension (ICPC '07)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-06-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125265244","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}
引用次数: 4
Constructing Usage Scenarios for API Redocumentation 构建API Redocumentation的使用场景
15th IEEE International Conference on Program Comprehension (ICPC '07) Pub Date : 2007-06-26 DOI: 10.1109/ICPC.2007.16
Juanjuan Jiang, Johannes Koskinen, A. Ruokonen, Tarja Systä
{"title":"Constructing Usage Scenarios for API Redocumentation","authors":"Juanjuan Jiang, Johannes Koskinen, A. Ruokonen, Tarja Systä","doi":"10.1109/ICPC.2007.16","DOIUrl":"https://doi.org/10.1109/ICPC.2007.16","url":null,"abstract":"Software development relies heavily on reusable libraries and software components. For correct use of the provided API, proper documentation is needed. API usage is often demonstrated by giving example applications and code samples. In this paper we propose an approach for mining such usage scenarios from run-time communication between sample applications and the API. This is done automatically by first monitoring the API usage of sample applications, then filtering the generated traces, and finally synthesizing the sequence diagrams and illustrating them in a well-formed way as UML2 sequence diagrams. Such usage scenarios support the software engineer in comprehending the usage of the API. With proper tool support they can also be used for validating other applications' API usage and for generating code for a new application using the same API.","PeriodicalId":135871,"journal":{"name":"15th IEEE International Conference on Program Comprehension (ICPC '07)","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-06-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129252344","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}
引用次数: 27
Program Comprehension through Software Habitability 通过软件可居住性来理解程序
15th IEEE International Conference on Program Comprehension (ICPC '07) Pub Date : 2007-06-26 DOI: 10.1109/ICPC.2007.30
Richard Wettel, Michele Lanza
{"title":"Program Comprehension through Software Habitability","authors":"Richard Wettel, Michele Lanza","doi":"10.1109/ICPC.2007.30","DOIUrl":"https://doi.org/10.1109/ICPC.2007.30","url":null,"abstract":"The comprehensive understanding of a large software system is a daunting task because of the sheer size and complexity that such systems exhibit. In this context software visualization is a widely used approach, since well-conceived visual representations allow one to spot patterns. The large majority of visualizations use 2D representations, because they are easier to construct, navigate, and interact with. 3D representations usually exploit the 3rd dimension as an additional means to encode quantitative values, which is dismissed by many as a too small benefit in the light of the added complexity in terms of navigation and interaction. We argue that a well-constructed, interactive, and easily navigable 3D visualization can greatly help in program comprehension tasks by supporting habitability. Habitability transmits to a developer the notion that a software system is a physical space with strong orientation points. This can give developers the feeling of being \"at home\" in a system. We propose a 3D visualization of software systems hinging on the city metaphor. It is useful for program comprehension because it leads to clarity about the overall structure of a system. We apply our visualization technique on two large systems and discuss its benefits and drawbacks.","PeriodicalId":135871,"journal":{"name":"15th IEEE International Conference on Program Comprehension (ICPC '07)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-06-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130158842","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}
引用次数: 124
Metrics for Measuring the Effectiveness of Decompilers and Obfuscators 衡量反编译器和混淆器有效性的度量标准
15th IEEE International Conference on Program Comprehension (ICPC '07) Pub Date : 2007-06-26 DOI: 10.1109/ICPC.2007.27
Nomair A. Naeem, Michael Batchelder, L. Hendren
{"title":"Metrics for Measuring the Effectiveness of Decompilers and Obfuscators","authors":"Nomair A. Naeem, Michael Batchelder, L. Hendren","doi":"10.1109/ICPC.2007.27","DOIUrl":"https://doi.org/10.1109/ICPC.2007.27","url":null,"abstract":"Java developers often use decompilers to aid reverse engineering and obfuscators to prevent it. Decompilers translate low-level class files to Java source and can produce \"good\" output. Obfuscators transform class files into semantically-equivalent versions that are either: (1) difficult to decompile, or (2) decompilable, but result in \"hard- to-understand\" Java source. We present a set of metrics developed to quantify the effectiveness of decompilers and obfuscators. The metrics include some selective size and counting metrics and an expression complexity metric. We have applied these metrics to evaluate a collection of decompilers and obfuscators. By quantitatively comparing original Java source against decompiled and obfuscated code respectively, we show which decompilers produce \"good\" code and whether obfuscations result in \"hard-to-understand\" code.","PeriodicalId":135871,"journal":{"name":"15th IEEE International Conference on Program Comprehension (ICPC '07)","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-06-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128865767","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}
引用次数: 20
Error Report Driven Post-Mortem Analysis 错误报告驱动的事后分析
15th IEEE International Conference on Program Comprehension (ICPC '07) Pub Date : 2007-06-26 DOI: 10.1109/ICPC.2007.43
Yi Zhang, S. Iyer
{"title":"Error Report Driven Post-Mortem Analysis","authors":"Yi Zhang, S. Iyer","doi":"10.1109/ICPC.2007.43","DOIUrl":"https://doi.org/10.1109/ICPC.2007.43","url":null,"abstract":"Regulatory agencies, such as US FDA, and other third party reviewers of software have the task of comprehending apiece of software in the event of its failure. Program slicing is the preferred technique to analyze software failures. However, program slicing might yield extremely large slices and also demand that an user have intimate knowledge of the software (by specifying a slicing criterion). In this paper we propose solutions to ameliorate both of these problems. The main hypothesis of the paper is that error reports can be used to generate slicing criteria, thus allowing a third-party reviewer to use slicing without any knowledge of the system being analyzed. The first contribution of the paper is a study of how error reports can be formalized and how execution sequences (called error traces) that satisfy an error report can be identified, which can then be sliced. A primary feature of this work is that incomplete error reports could be dealt with. The second contribution of the paper is a scheme for using abstract interpretation in the generation of error traces and (potential) slicing criteria from error reports. These \"abstract\" error traces can be sliced, much like in dynamic/conditional slicing, with respect to the criteria generated, allowing for inputs to be used to reduce the size of slices. Furthermore, being abstract in nature, they are shorter than exact execution sequences and also allow for easier comprehension. We finally present a case study involving a medical device that illustrates how our approach can aid with program comprehension.","PeriodicalId":135871,"journal":{"name":"15th IEEE International Conference on Program Comprehension (ICPC '07)","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-06-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128901375","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}
引用次数: 2
Designing your Next Empirical Study on Program Comprehension 设计关于程序理解的下一个实证研究
15th IEEE International Conference on Program Comprehension (ICPC '07) Pub Date : 2007-06-26 DOI: 10.1109/ICPC.2007.17
M. D. Penta, R. Stirewalt, Eileen T. Kraemer
{"title":"Designing your Next Empirical Study on Program Comprehension","authors":"M. D. Penta, R. Stirewalt, Eileen T. Kraemer","doi":"10.1109/ICPC.2007.17","DOIUrl":"https://doi.org/10.1109/ICPC.2007.17","url":null,"abstract":"The field of program comprehension is characterized by both the continuing development of new tools and techniques and the adaptation of existing techniques to address program comprehension needs for new software development and maintenance scenarios. The adoption of these techniques and tools in industry requires proper experimentation to assess the advantages and disadvantages of each technique or tool and to let the practitioners choose the most suitable approach for a specific problem. The objective of this working session is to encourage researchers and practitioners working in the area of program comprehension to join forces to design and carry out studies related to program comprehension, including observational studies, controlled experiments, case studies, surveys, and contests, and to develop standards for describing and carrying out such studies in a way that facilitates replication of data and aggregation of the results of related studies.","PeriodicalId":135871,"journal":{"name":"15th IEEE International Conference on Program Comprehension (ICPC '07)","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-06-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127824716","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}
引用次数: 55
A Comparative Study of Three Program Exploration Tools 三种程序探索工具的比较研究
15th IEEE International Conference on Program Comprehension (ICPC '07) Pub Date : 2007-06-26 DOI: 10.1109/ICPC.2007.6
B. D. Alwis, G. Murphy, M. Robillard
{"title":"A Comparative Study of Three Program Exploration Tools","authors":"B. D. Alwis, G. Murphy, M. Robillard","doi":"10.1109/ICPC.2007.6","DOIUrl":"https://doi.org/10.1109/ICPC.2007.6","url":null,"abstract":"Programmers need tools to help explore large software systems when performing software evolution tasks. A variety of tools have been created to improve the effectiveness of such exploration. The usefulness of these tools has been argued largely on the basis of case studies, small narrowly-focussed experiments, or non-human-based experiments. In this paper, we report on a more rigorously controlled study of three specialized software exploration tools in which professional programmers used the tools to plan complex change tasks to a medium-sized code base. We found that the tools had little apparent effect; the effects observed instead appear to be dominated by individual styles and strategies of the programmers and characteristics of the tasks. In addition to presenting the results of the study, this paper introduces the use of two experimental evaluation aids: the NASA task load index (TLX) for assessing task difficulty and distance profiles for assessing the to which programmers remain on-track.","PeriodicalId":135871,"journal":{"name":"15th IEEE International Conference on Program Comprehension (ICPC '07)","volume":"161 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-06-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124521360","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}
引用次数: 34
WAD: A Feasibility study using the Wicked Audio Debugger WAD:使用Wicked音频调试器的可行性研究
15th IEEE International Conference on Program Comprehension (ICPC '07) Pub Date : 2007-06-26 DOI: 10.1109/ICPC.2007.42
A. Stefik, R. Alexander, Robert Patterson, Jonathan Brown
{"title":"WAD: A Feasibility study using the Wicked Audio Debugger","authors":"A. Stefik, R. Alexander, Robert Patterson, Jonathan Brown","doi":"10.1109/ICPC.2007.42","DOIUrl":"https://doi.org/10.1109/ICPC.2007.42","url":null,"abstract":"Contemporary programmers have a predominately visual experience. Computer code is read from sophisticated text editors, analyzed using visual tools, designed using UML, and debugged using a watch window. Little research has attempted to create tools for the non-sighted programmer, using either haptic or aural feedback. In this paper, we present WAD, the wicked audio debugger, a new debugger for Microsoft Visual Studio 2005 that sonifies computer code as an aid to the programmer. This paper has two primary contributions, namely the tool itself and the results of a feasibility study. We conducted this feasibility study to test participants' ability to comprehend dynamic program behavior, including tracking the value of state variables and control flow. Results of our feasibility study show that participants were able to comprehend approximately 86% of dynamic program behavior using audio only.","PeriodicalId":135871,"journal":{"name":"15th IEEE International Conference on Program Comprehension (ICPC '07)","volume":"493 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-06-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124597772","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}
引用次数: 27
Lagrein: Visualizing User Requirements and Development Effort Lagrein:可视化用户需求和开发工作
15th IEEE International Conference on Program Comprehension (ICPC '07) Pub Date : 2007-06-26 DOI: 10.1109/ICPC.2007.24
Andrejs Jermakovics, M. Scotto, A. Sillitti, G. Succi
{"title":"Lagrein: Visualizing User Requirements and Development Effort","authors":"Andrejs Jermakovics, M. Scotto, A. Sillitti, G. Succi","doi":"10.1109/ICPC.2007.24","DOIUrl":"https://doi.org/10.1109/ICPC.2007.24","url":null,"abstract":"The development of a software project often requires more time and effort than originally expected. However, at end of a project, it is hard to determine which components required more time or were more complex than what was originally planned. In addition, project managers are interested to know what could have happened if some requirements were dropped or if they were implemented in different time sequencing. Lagrein is a tool that supports managers and developers in answering such kind of questions.","PeriodicalId":135871,"journal":{"name":"15th IEEE International Conference on Program Comprehension (ICPC '07)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2007-06-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129450975","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}
引用次数: 10
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信