{"title":"The Conceptual Coupling Metrics for Object-Oriented Systems","authors":"D. Poshyvanyk, Andrian Marcus","doi":"10.1109/ICSM.2006.67","DOIUrl":"https://doi.org/10.1109/ICSM.2006.67","url":null,"abstract":"Coupling in software has been linked with maintainability and existing metrics are used as predictors of external software quality attributes such as fault-proneness, impact analysis, ripple effects of changes, changeability, etc. Many coupling measures for object-oriented (OO) software have been proposed, each of them capturing specific dimensions of coupling. This paper presents a new set of coupling measures for OO systems - named conceptual coupling, based on the semantic information obtained from the source code, encoded in identifiers and comments. A case study on open source software systems is performed to compare the new measures with existing structural coupling measures. The case study shows that the conceptual coupling captures new dimensions of coupling, which are not captured by existing coupling measures; hence it can be used to complement the existing metrics","PeriodicalId":436673,"journal":{"name":"2006 22nd IEEE International Conference on Software Maintenance","volume":"252 24","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"113983236","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}
M. T. Baldassarre, N. Boffoli, D. Caivano, G. Visaggio
{"title":"SPEED: Software Project Effort Evaluator based on Dynamic-calibration","authors":"M. T. Baldassarre, N. Boffoli, D. Caivano, G. Visaggio","doi":"10.1109/ICSM.2006.62","DOIUrl":"https://doi.org/10.1109/ICSM.2006.62","url":null,"abstract":"Effort estimation is a long faced problem, but, in spite of the amount of research spent in this field, it still remains an open issue in the software engineering community. In two previous works the authors proposed an approach named dynamic calibration for effort estimation of software projects. In this paper they present a tool named SPEED that implements the dynamic calibration approach","PeriodicalId":436673,"journal":{"name":"2006 22nd IEEE International Conference on Software Maintenance","volume":"39 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122378430","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":"Tracking Concerns in Evolving Source Code: An Empirical Study","authors":"M. Robillard","doi":"10.1109/ICSM.2006.70","DOIUrl":"https://doi.org/10.1109/ICSM.2006.70","url":null,"abstract":"The association between the description of a concern (e.g., a feature) and the code that implements it is valuable information that can degrade as the code of a system evolves. We present a study of the evolution of the implementation of a concern in 33 versions of an open-source text editor. We represented the implementation of the concern using concern graphs, a model that was designed to be resilient to source code evolution. The study showed how the concern graph model supports tracking a concern's implementation in an evolving system, as well as inferring high-level past changes and assessing the stability of the concern's implementation","PeriodicalId":436673,"journal":{"name":"2006 22nd IEEE International Conference on Software Maintenance","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116845373","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}
Tibor Bakota, R. Ferenc, T. Gyimóthy, C. Riva, Jianli Xu
{"title":"Towards Portable Metrics-based Models for Software Maintenance Problems","authors":"Tibor Bakota, R. Ferenc, T. Gyimóthy, C. Riva, Jianli Xu","doi":"10.1109/ICSM.2006.69","DOIUrl":"https://doi.org/10.1109/ICSM.2006.69","url":null,"abstract":"The usage of software metrics for various purposes has become a hot research topic in academia and industry (e.g. detecting design patterns and bad smells, studying change-proneness, quality and maintainability, predicting faults). Most of these topics have one thing in common: they are all using some kind of metrics-based models to achieve their goal. Unfortunately, only few researchers have tested these models on unknown software systems so far. This paper tackles the question, which metrics are suitable for preparing portable models (which can be efficiently applied to unknown software systems). We have assessed several metrics on four large software systems and we found that the well-known RFC and WMC metrics differentiate the analyzed systems fairly well. Consequently, these metrics cannot be used to build portable models, while the CBO, LCOM and LOC metrics behave similarly on all systems, so they seem to be suitable for this purpose","PeriodicalId":436673,"journal":{"name":"2006 22nd IEEE International Conference on Software Maintenance","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116847433","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 Challenges of Maintaining Large-Scale Software Systems at Lockheed Martin","authors":"L. Alexander","doi":"10.1109/ICSM.2006.42","DOIUrl":"https://doi.org/10.1109/ICSM.2006.42","url":null,"abstract":"Larry joined the Lockheed Martin team in October, 1975 as a Systems Engineer at the Space Systems Division in Valley Forge, PA. In 1983, he joined the Electronics Lab in Syracuse, NY as Manager of Integrated Electronics and led research in advanced electronics. In 1987, he was named Director, Digital Processing Lab at the Advanced Technology Labs in Moorestown, NJ where he led numerous R&D initiatives in advanced computer architectures, distributed operating systems and artificial intelligence.","PeriodicalId":436673,"journal":{"name":"2006 22nd IEEE International Conference on Software Maintenance","volume":"60 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114583299","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}
David Byers, Shanai Ardi, N. Shahmehri, Claudiu Duma
{"title":"Modeling Software VulnerabilitiesWith Vulnerability Cause Graphs","authors":"David Byers, Shanai Ardi, N. Shahmehri, Claudiu Duma","doi":"10.1109/ICSM.2006.40","DOIUrl":"https://doi.org/10.1109/ICSM.2006.40","url":null,"abstract":"When vulnerabilities are discovered in software, which often happens after deployment, they must be addressed as part of ongoing software maintenance. A mature software development organization should analyze vulnerabilities in order to determine how they, and similar vulnerabilities, can be prevented in the future. In this paper we present a structured method for analyzing and documenting the causes of software vulnerabilities. Applied during software maintenance, the method generates the information needed for improving the software development process, to prevent similar vulnerabilities in future releases. Our approach is based on vulnerability cause graphs, a structured representation of causes of software vulnerabilities","PeriodicalId":436673,"journal":{"name":"2006 22nd IEEE International Conference on Software Maintenance","volume":"54 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114854838","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":"Model-Based Testing of Community-Driven Open-Source GUI Applications","authors":"Qing Xie, A. Memon","doi":"10.1109/ICSM.2006.39","DOIUrl":"https://doi.org/10.1109/ICSM.2006.39","url":null,"abstract":"Although the World-Wide-Web (WWW) has significantly enhanced open-source software (OSS) development, it has also created new challenges for quality assurance (QA), especially for OSS with a graphical-user interface (GUI) front-end. Distributed communities of developers, connected by the WWW, work concurrently on loosely-coupled parts of the OSS and the corresponding GUI code. Due to the unprecedented code churn rates enabled by the WWW, developers may not have time to determine whether their recent modifications have caused integration problems with the overall OSS; these problems can often be detected via GUI integration testing. However, the resource-intensive nature of GUI testing prevents the application of existing automated QA techniques used during conventional OSS evolution. In this paper we develop new process support for three nested techniques that leverage developer communities interconnected by the WWW to automate model-based testing of evolving GUI-based OSS. The \"innermost\" technique (crash testing) operates on each code check-in of the GUI software and performs a quick and fully automatic integration test. The second technique {smoke testing) operates on each day's GUI build and performs functional \"reference testing\" of the newly integrated version of the GUI. The third (outermost) technique (comprehensive GUI testing) conducts detailed integration testing of a major GUI release. An empirical study involving four popular OSS shows that (1) the overall approach is useful to detect severe faults in GUI-based OSS and (2) the nesting paradigm helps to target feedback and makes effective use of the WWW by implicitly distributing QA","PeriodicalId":436673,"journal":{"name":"2006 22nd IEEE International Conference on Software Maintenance","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127534671","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":"Exploiting the Analogy Between Traces and Signal Processing","authors":"Adrian Kuhn, O. Greevy","doi":"10.1109/ICSM.2006.29","DOIUrl":"https://doi.org/10.1109/ICSM.2006.29","url":null,"abstract":"The main challenge of dynamic analysis is the huge volume of data, making it difficult to extract high level views. Most techniques developed so far adopt a finegrained approach to address this issue. In this paper we introduce a novel approach representing entire traces as signals in time. Drawing this analogy between dynamic analysis and signal processing, we are able to access a rich toolkit of well-established and ready-to-use analysis techniques. As an application of this analogy, we show how to fit a visualization of the complete feature space of a system on one page only: our approach visualizes feature traces as time plots, summarizes the trace signals and uses dynamic time warping to group them by similar features. We apply the approach on a case study, and discuss both common and unique patterns as observed on the visualization","PeriodicalId":436673,"journal":{"name":"2006 22nd IEEE International Conference on Software Maintenance","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124706988","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}
Yves Vandewoude, Peter Ebraert, Y. Berbers, T. D'Hondt
{"title":"An alternative to Quiescence: Tranquility","authors":"Yves Vandewoude, Peter Ebraert, Y. Berbers, T. D'Hondt","doi":"10.1109/ICSM.2006.11","DOIUrl":"https://doi.org/10.1109/ICSM.2006.11","url":null,"abstract":"This paper revisits a problem that was identified by Kramer and Magee: placing a system in a consistent state before and after runtime changes (1990). We show that their notion of quiescence as a necessary and sufficient condition for safe runtime changes is too strict and violates the black-box design principle. We introduce a weaker condition, tranquility; easier to obtain, less disruptive for the system and still sufficient to ensure application consistency. We also present an implementation of this concept in a component middleware platform","PeriodicalId":436673,"journal":{"name":"2006 22nd IEEE International Conference on Software Maintenance","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126836540","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}
Joseph Buchta, M. Petrenko, D. Poshyvanyk, V. Rajlich
{"title":"Teaching Evolution of Open-Source Projects in Software Engineering Courses","authors":"Joseph Buchta, M. Petrenko, D. Poshyvanyk, V. Rajlich","doi":"10.1109/ICSM.2006.66","DOIUrl":"https://doi.org/10.1109/ICSM.2006.66","url":null,"abstract":"In the traditional software engineering courses, the students develop small programs from scratch. This does not correspond to industry practice where programmers spend most of their time evolving medium to large systems. In order to narrow this gap, we developed a course where students practice software evolution through the implementation of change requests on medium-sized open-source software systems. The results of the course show that this type of software engineering course gives students a more realistic experience than traditional software engineering courses. In the survey at the end of the course, the students expressed a higher level of satisfaction with both rating the course and assessing how much they learned. Additionally, the resources required by such a course are not excessive","PeriodicalId":436673,"journal":{"name":"2006 22nd IEEE International Conference on Software Maintenance","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-09-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124209075","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}