Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Huzefa H. Kagdi

dblp:39/4382 · DBLP profile ↗
← Back
31ranked-venue papers
11as first author
0since 2021 · last 2018
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 30 · 11 first-authorDatabases, data management, data science and information retrieval · 3Artificial intelligence and machine learning · 2

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
6 papers
Software maintenance and evolution · 68% Empirical software engineering · 28% Requirements engineering and software design · 2%
Databases, data mining, and information retrieval
1 paper
Information retrieval · 100%

Topics — the 10 heaviest of 11, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Empirical software engineering
mining software repositories
0.542016
Automatically Recommending Peer Reviewers in Modern Code Review · IEEE Trans. Software Eng. 2016
An adaptive approach to impact analysis from change requests to source code · ASE 2011
An approach to mining call-usage patternswith syntactic context · ASE 2007
Software maintenance and evolution
change impact analysis
0.332012
Integrated impact analysis for managing software changes · ICSE 2012
An adaptive approach to impact analysis from change requests to source code · ASE 2011
Improving change prediction with fine-grained source code mining · ASE 2007
Software maintenance and evolution
code review
0.212016
Automatically Recommending Peer Reviewers in Modern Code Review · IEEE Trans. Software Eng. 2016
Software maintenance and evolution › code review
reviewer recommendation
0.212016
Automatically Recommending Peer Reviewers in Modern Code Review · IEEE Trans. Software Eng. 2016
Software maintenance and evolution
traceability
0.112011
Sixth international workshop on traceability in emerging forms of software engineering: (TEFSE 2011) · ICSE 2011
Software maintenance and evolution › traceability
traceability link recovery
0.112011
Sixth international workshop on traceability in emerging forms of software engineering: (TEFSE 2011) · ICSE 2011
Software maintenance and evolution › API usage
API usage pattern mining
0.112007
An approach to mining call-usage patternswith syntactic context · ASE 2007
Information retrieval › retrieval models › latent semantic models
latent semantic indexing
0.012012
Integrated impact analysis for managing software changes · ICSE 2012
Requirements engineering and software design
requirements traceability
0.012011
Sixth international workshop on traceability in emerging forms of software engineering: (TEFSE 2011) · ICSE 2011
Program analysis
source code analysis
0.012007
An approach to mining call-usage patternswith syntactic context · ASE 2007

Methods — techniques the papers use, named apart from their topics

information retrieval · 0.5latent semantic indexing · 0.4dynamic analysis · 0.4data mining · 0.4execution trace analysis · 0.3machine learning · 0.2static analysis · 0.1sequential pattern mining · 0.1program dependency graph · 0.1frequent sequential pattern mining · 0.1
YearPublicationVenuePosition
2018 A Conceptual Replication Study on Bugs that Get Fixed in Open Source Software
abstract
Bugs dominate the corrective maintenance and evolutionary changes in large-scale software systems. The topic of bugs has been extensively investigated and reported in the literature. Unfortunately, the existential question of all "whether a reported bug will be fixed or not" has not received much attention. The paper presents an empirical study on four open source projects to examine the factors that influence the likelihood of a bug getting fixed or not. Overall, our study can be contextualized as a conceptual replication of a previous study on Microsoft systems from a commercial domain. The similarities and differences in terms of the design, execution, and results between the two studies are discussed. It was observed from these systems that the reputations of the reporter and assigned developer to fix it, and the number of comments on a bug have the most substantial impact on its probability to get fixed. Moreover, we formulated a predictive model from features available as soon as a bug is reported to estimate whether it will be fixed or not. Intra and inter (cross) project validations were performed. Precision and Recall metrics were used to assess the predictive model. Their values were recorded in the 60% to 70% range.
Haoren Wang, Huzefa H. Kagdi
ICSME2
2018 Feedback Topics in Modern Code Review: Automatic Identification and Impact on Changes
abstract
Recent empirical studies show that the practice of peer-code-review improves software quality.Therein, the quality is examined from the external perspective of reducing the defects/failures, i.e., bugs, in reviewed software.There is a very little to no investigation on the impact of peer-codereview on improving the internal quality of software, i.e., what exactly is affected in code, due to this process.To this end, we conducted an empirical study on the human-to-human discourse about the code changes, which are recorded in modern code review tools in the form of review comments.Our objective of this study was to investigate the topics which are typically addressed via the textual comments.Although, there is an existing taxonomy of topics, there is no automatic approach to categorize code reviews.We present a machine-learning-based approach to automatically classify reviewer-to-reviewer and reviewer-todeveloper comments on proposed code changes.We applied this approach on 468 code review comments of four open source systems, namely eclipse, mylyn, android and openstack.The results show that Evolvability categories are dominating topics.In an attempt to verify these observations, we analyzed the code changes that developers performed on receiving these comments.We identified several refactorings that are congruent with the topics of review comments.Refactorings are mechanisms to improve the internal structure of software.Therefore, our work provides initial empirical evidence on the effectiveness of peercode-review on improving internal software quality.
Janani Raghunathan, Lifei Liu, Huzefa H. Kagdi
SEKE3
2017 Eye movements in software traceability link recovery
Bonita Sharif, John Meinken, Timothy Shaffer, Huzefa H. Kagdi
Empir. Softw. Eng.4
2016 Mining Android Apps to Recommend Permissions
abstract
Permission mechanisms play a crucial role for ensuring privacy and security of Android mobile applications (apps). An Android app that requires access to the device resources must be granted specific permissions for its correct operation. Oftentimes, the requested permissions depend on the APIs being used, e.g., a location-based service API may need a specific permission to access the device's GPS or an API supporting data persistence may need another permission to write to the device's external storage. App developers need to be aware of this API from/to permission traceability, which is not necessarily explicitly documented, for the proper functioning of the desired app feature. This paper presents an approach, named ApMiner, which relies on association rule discovery to identify cooccurrence patterns of Android APIs and permissions. Based on the usage of APIs and permissions in other apps published in a marketplace, the approach is able to learn and help a developer of a new app to recommend the permissions to be added given the APIs being used. ApMiner has been empirically evaluated on 600 apps from F-Droid, a marketplace for free and open source apps. We compared ApMiner with the state-of-the-art approaches Androguard and PScout, which rely on traditional static and dynamic analyses to recommend permissions. Results show that ApMiner has substantial precision gains (about 1.5 to 2 times) over the compared approaches, while keeping a similar and slightly better level of recall. Overall, our findings suggest that a mining based approach could offer much improved effectiveness in automatically recommending permissions in developing (new) Android apps.
Md Yasser Karim, Huzefa H. Kagdi, Massimiliano Di Penta
SANER2
2016 Automatically Recommending Peer Reviewers in Modern Code Review
abstract
Code review is an important part of the software development process. Recently, many open source projects have begun practicing code review through “modern” tools such as GitHub pull-requests and Gerrit. Many commercial software companies use similar tools for code review internally. These tools enable the owner of a source code change to request individuals to participate in the review, i.e., reviewers. However, this task comes with a challenge. Prior work has shown that the benefits of code review are dependent upon the expertise of the reviewers involved. Thus, a common problem faced by authors of source code changes is that of identifying the best reviewers for their source code change. To address this problem, we present an approach, namely cHRev, to automatically recommend reviewers who are best suited to participate in a given review, based on their historical contributions as demonstrated in their prior reviews. We evaluate the effectiveness of cHRev on three open source systems as well as a commercial codebase at Microsoft and compare it to the state of the art in reviewer recommendation. We show that by leveraging the specific information in previously completed reviews (i.e.,quantification of review comments and their recency), we are able to improve dramatically on the performance of prior approaches, which (limitedly) operate on generic review information (i.e., reviewers of similar source code file and path names) or source coderepository data. We also present the insights into why our approach cHRev outperforms the existing approaches.
Motahareh Bahrami Zanjani, Huzefa H. Kagdi, Christian Bird
IEEE Trans. Software Eng.2
2015 Using Developer-Interaction Trails to Triage Change Requests
abstract
The paper presents an approach, namely iHDev, to recommend developers who are most likely to implement incoming change requests. The basic premise of iHDev is that the developers who interacted with the source code relevant to a given change request are most likely to best assist with its resolution. A machine-learning technique is first used to locate source code entities relevant to the textual description of a given change request. Ihdev then mines interaction trails (i.e., Mylyn sessions) associated with these source code entities to recommend a ranked list of developers. Ihdev integrates the interaction trails in a unique way to perform its task, which was not investigated previously. An empirical study on open source systems Mylyn and Eclipse Project was conducted to assess the effectiveness of iHDev. A number of change requests were used in the evaluated bench-mark. Recall for top one to five recommended developers and Mean Reciprocal Rank (MRR) values are reported. Furthermore, a comparative study with two previous approaches that use commit histories and/or the source code authorship information for developer recommendation was performed. Results show that iHDev could provide a recall gain of up to 127.27% with equivalent or improved MRR values by up to 112.5%.
Motahareh Bahrami Zanjani, Huzefa H. Kagdi, Christian Bird
MSR2
2014 Enabling integrated development environments with natural user interface interactions
abstract
The paper introduces the concept of applying Natural User Interface (NUI) interactions in the context of Integrated Development Environments (IDEs). Human voice and gestures are mapped to several IDE commends. A prototype tool is developed using the Microsoft Kinect hardware sensors and the available software development kits for Microsoft Visual Studio. A pilot study was conducted to assess the developed prototype. The results of the study suggest that it might be possible to apply natural interactions to a range of IDE capabilities.
Denis Delimarschi, George Swartzendruber, Huzefa H. Kagdi
ICPC3
2014 Amalgamating source code authors, maintainers, and change proneness to triage change requests
abstract
The paper presents an approach, namely iMacPro, to recommend developers who are most likely to implement incoming change requests. iMacPro amalgamates the textual similarity between the given change request and source code, change proneness information, authors, and maintainers of a software system. Latent Semantic Indexing (LSI) and a lightweight analysis of source code, and its commits from the software repository, are used. The basic premise of iMacPro is that the authors and maintainers of the relevant source code, which is change prone, to a given change request are most likely to best assist with its resolution. iMacPro unifies these sources in a unique way to perform its task, which was not investigated and reported in the literature previously.
Kamal Hossen, Huzefa H. Kagdi, Denys Poshyvanyk
ICPC2
2014 On mapping releases to commits in open source systems
abstract
The paper presents an empirical study on the release naming and structure in three open source projects: Google Chrome, GNU gcc, and Subversion. Their commonality and variability are discussed. An approach is developed that establishes the mapping from a particular release (major or minor) to the specific earliest and latest revisions, i.e., a commit window of a release, in the source control repository. For example, the major release 25.0 in Chrome is mapped to the earliest revision 157687 and latest revision 165096 in the trunk. This mapping between releases and commits would facilitate a systematic choice of history in units of the project evolution scale (i.e., commits that constitute a software release). A projected application is in forming a training set for a source-code change prediction model, e.g., using the association rule mining or machine learning techniques, commits from the source code history are needed.
Joseph F. Shobe, Md Yasser Karim, Motahareh Bahrami Zanjani, Huzefa H. Kagdi
ICPC4
2014 Capturing software traceability links from developers' eye gazes
abstract
The paper presents a novel approach for recovering software traceability links from developers' eye gazes. An eye tracker is used to capture eye gazes while developers perform software maintenance tasks within the Eclipse IDE. An algorithm is presented that establishes a set of traceability links from the eye-gaze data of several developer sessions. A preliminary study assesses the feasibility and validity of the approach. The links generated by the approach were validated by another set of developers. Results indicate that our algorithm achieves strong recall when developers accurately perform bug-localization tasks.
Braden Walters, Timothy Shaffer, Bonita Sharif, Huzefa H. Kagdi
ICPC4
2014 Impact analysis of change requests on source code based on interaction and commit histories
abstract
The paper presents an approach to perform impact analysis (IA) of an incoming change request on source code. The approach is based on a combination of interaction (e.g., Mylyn) and commit (e.g., CVS) histories. The source code entities (i.e., files and methods) that were interacted or changed in the resolution of past change requests (e.g., bug fixes) were used. Information retrieval, machine learning, and lightweight source code analysis techniques were employed to form a corpus from these source code entities. Additionally, the corpus was augmented with the textual descriptions of the previously resolved change requests and their associated commit messages. Given a textual description of a change request, this corpus is queried to obtain a ranked list of relevant source code entities that are most likely change prone. Such an approach that combines information from interactions and commits for IA at the change request level was not previously investigated. Furthermore, the approach requires only the entities that were interacted and/or committed in the past, which differs from the previous solutions that require indexing of a complete snapshot (e.g., a release).
Motahareh Bahrami Zanjani, George Swartzendruber, Huzefa H. Kagdi
MSR3
2013 A dataset from change history to support evaluation of software maintenance tasks
abstract
Approaches that support software maintenance need to be evaluated and compared against existing ones, in order to demonstrate their usefulness in practice. However, oftentimes the lack of well-established sets of benchmarks leads to situations where these approaches are evaluated using different datasets, which results in biased comparisons. In this data paper we describe and make publicly available a set of benchmarks from six Java applications, which can be used in the evaluation of various software engineering (SE) tasks, such as feature location and impact analysis. These datasets consist of textual description of change requests, the locations in the source code where they were implemented, and execution traces. Four of the benchmarks were already used in several SE research papers, and two of them are new. In addition, we describe in detail the methodology used for generating these benchmarks and provide a suite of tools in order to encourage other researchers to validate our datasets and generate new benchmarks for other subject software systems. Our online appendix: http://www.cs.wm.edu/semeru/data/msr13/.
Bogdan Dit, Andrew Holtzhauer, Denys Poshyvanyk, Huzefa H. Kagdi
MSR4
2013 Integrating conceptual and logical couplings for change impact analysis in software
Huzefa H. Kagdi, Malcom Gethers, Denys Poshyvanyk
Empir. Softw. Eng.1
2012 Integrated impact analysis for managing software changes
abstract
The paper presents an adaptive approach to perform impact analysis from a given change request to source code. Given a textual change request (e.g., a bug report), a single snapshot (release) of source code, indexed using Latent Semantic Indexing, is used to estimate the impact set. Should additional contextual information be available, the approach configures the best-fit combination to produce an improved impact set. Contextual information includes the execution trace and an initial source code entity verified for change. Combinations of information retrieval, dynamic analysis, and data mining of past source code commits are considered. The research hypothesis is that these combinations help counter the precision or recall deficit of individual techniques and improve the overall accuracy. The tandem operation of the three techniques sets it apart from other related solutions. Automation along with the effective utilization of two key sources of developer knowledge, which are often overlooked in impact analysis at the change request level, is achieved. To validate our approach, we conducted an empirical evaluation on four open source software systems. A benchmark consisting of a number of maintenance issues, such as feature requests and bug fixes, and their associated source code changes was established by manual examination of these systems and their change history. Our results indicate that there are combinations formed from the augmented developer contextual information that show statistically significant improvement over standalone approaches.
Malcom Gethers, Bogdan Dit, Huzefa H. Kagdi, Denys Poshyvanyk
ICSE3
2012 Triaging incoming change requests: Bug or commit history, or code authorship?
abstract
There is a tremendous wealth of code authorship information available in source code. Motivated with the presence of this information, in a number of open source projects, an approach to recommend expert developers to assist with a software change request (e.g., a bug fixes or feature) is presented. It employs a combination of an information retrieval technique and processing of the source code authorship information. The relevant source code files to the textual description of a change request are first located. The authors listed in the header comments in these files are then analyzed to arrive at a ranked list of the most suitable developers. The approach fundamentally differs from its previously reported counterparts, as it does not require software repository mining. Neither does it require training from past bugs/issues, which is often done with sophisticated techniques such as machine learning, nor mining of source code repositories, i.e., commits. An empirical study to evaluate the effectiveness of the approach on three open source systems, ArgoUML, JEdit, and MuCommander, is reported. Our approach is compared with two representative approaches: (1) using machine learning on past bug reports, and (2) based on commit logs. The presented approach is found to provide recommendation accuracies that are equivalent or better than the two compared approaches. These findings are encouraging, as it opens up a promising and orthogonal possibility of recommending developers without the need of any historical change information.
Mario Linares-Vásquez, Kamal Hossen, Hoang Dang, Huzefa H. Kagdi, Malcom Gethers, Denys Poshyvanyk
ICSM4
2012 Assigning change requests to software developers
abstract
SUMMARY The paper presents an approach to recommend a ranked list of expert developers to assist in the implementation of software change requests (e.g., bug reports and feature requests). An Information Retrieval (IR)‐based concept location technique is first used to locate source code entities, e.g., files and classes, relevant to a given textual description of a change request. The previous commits from version control repositories of these entities are then mined for expert developers. The role of the IR method in selectively reducing the mining space is different from previous approaches that textually index past change requests and/or commits. The approach is evaluated on change requests from three open‐source systems:ArgoUML,Eclipse, andKOffice, across a range of accuracy criteria. The results show that the overall accuracies of the correctly recommended developers are between 47 and 96% for bug reports, and between 43 and 60% for feature requests. Moreover, comparison results with two other recommendation alternatives show that the presented approach outperforms them with a substantial margin. Project leads or developers can use this approach in maintenance tasks immediately after the receipt of a change request in a free‐form text. Copyright © 2011 John Wiley & Sons, Ltd.
Huzefa H. Kagdi, Malcom Gethers, Denys Poshyvanyk, Maen Hammad
J. Softw. Maintenance Res. Pract.1
2011 Sixth international workshop on traceability in emerging forms of software engineering: (TEFSE 2011)
abstract
The Sixth International Workshop on Traceability in Emerging Forms of Software Engineering (TEFSE 2011) will bring together researchers and practitioners to examine the challenges of recovering and maintaining traceability for the myriad forms of software engineering artifacts, ranging from user needs to models to source code.
Denys Poshyvanyk, Massimiliano Di Penta, Huzefa H. Kagdi
ICSE3
2011 SE2 model to support software evolution
abstract
The paper proposes an integrated approach, namely SE2, to support three core software maintenance and evolution tasks: feature location, software change impact analysis, and expert developer recommendation. The approach is centered on the combinations of the conceptual and evolutionary relationships latent in structured and unstructured software artifacts. Information Retrieval (IR) and Mining Software Repositories (MSR) based techniques are used for analyzing and deriving these relationships. All the three tasks are supported under a single, common framework by providing systematic combinations of MSR and IR analyses on single and multiple versions of a software system. This combining ability of SE2sets it apart from previously reported relevant solutions in the literature. The outlined empirical assessment is aimed at identifying the exclusive and synergistic improvements offered by such combinations for each of the addressed tasks. Preliminary evaluation on a number of open source systems suggests that such combinations do offer improvements over individual approaches.
Huzefa H. Kagdi, Malcom Gethers, Denys Poshyvanyk
ICSM1
2011 An adaptive approach to impact analysis from change requests to source code
abstract
The paper presents an adaptive approach to perform impact analysis from a given change request (e.g., a bug report) to source code. Given a textual change request, a single snapshot (release) of source code, indexed using Latent Semantic Indexing, is used to estimate the impact set. Additionally, the approach configures the best-fit combination of information retrieval, dynamic analysis, and data mining of past source code commits to produce an improved impact set. The tandem operation of the three techniques sets it apart from other related solutions.
Malcom Gethers, Huzefa H. Kagdi, Bogdan Dit, Denys Poshyvanyk
ASE2
2009 Working session: Using eye-tracking to understand program comprehension
abstract
The working session focuses on the use of eye-tracking technology to assess, understand, and evaluate tools and techniques for program comprehension. An introduction to the technology and tools of eye-tracking will be presented. A discussion of how these tools augment existing evaluation mechanism in the context of program comprehension will follow. Research directions and open problems will be a main topic.
Yann-Gaël Guéhéneuc, Huzefa H. Kagdi, Jonathan I. Maletic
ICPC2
2009 Who can help me with this change request?
abstract
An approach to recommend a ranked list of developers to assist in performing software changes given a textual change request is presented. The approach employs a two-fold strategy. First, a technique based on information retrieval is put at work to locate the relevant units of source code, e.g., files, classes, and methods, to a given change request. These units of source code are then fed to a technique that recommends developers based on their source code change expertise, experience, and contributions, as derived from the analysis of the previous commits. The commits are obtained from a software system's version control repositories (e.g., Subversion). The approach is demonstrated on a bug report from KOffice, an open source application suite.
Huzefa H. Kagdi, Denys Poshyvanyk
ICPC1
2008 Who can help me with this source code change?
abstract
An approach to recommend a ranked list of developers to assist in performing software changes to a particular file is presented. The ranking is based on change expertise, experience, and contributions of developers, as derived from the analysis of the previous commits involving the specific file in question. The commits are obtained from a software systempsilas version control repositories (e.g., Subversion). The basic premise is that a developer who has substantially contributed changes to specific files in the past is likely to best assist for their current or future change. Evaluation of the approach on a number of open source systems such as koffice, Apache httpd, and GNU gcc is also presented. The results show that the accuracy of the correctly recommended developers is between 43% and 82%. New developers to a long-lived software project, or project managers, can use this approach to assist them in undertaking maintenance tasks, e.g., bug fix or adding a new feature. The approach can be realized as a plug-in to development environments such as Eclipse.
Huzefa H. Kagdi, Maen Hammad, Jonathan I. Maletic
ICSM1
2008 What's a Typical Commit? A Characterization of Open Source Software Repositories
abstract
The research examines the version histories of nine open source software systems to uncover trends and characteristics of how developers commit source code to version control systems (e.g., subversion). The goal is to characterize what a typical or normal commit looks like with respect to the number of files, number of lines, and number of hunks committed together. The results of these three characteristics are presented and the commits are categorized from extra small to extra large. The findings show that approximately 75% of commits are quite small for the systems examined along all three characteristics. Additionally, the commit messages are examined along with the characteristics. The most common words are extracted from the commit messages and correlated with the size categories of the commits. It is observed that sized categories can be indicative of the types of maintenance activities being performed.
Abdulkareem Alali, Huzefa H. Kagdi, Jonathan I. Maletic
ICPC2
2007 Mining Software Repositories for Traceability Links
abstract
An approach to recover/discover traceability links between software artifacts via the examination of a software system's version history is presented. A heuristic-based approach that uses sequential-pattern mining is applied to the commits in software repositories for uncovering highly frequent co-changing sets of artifacts (e.g., source code and documentation). If different types of files are committed together with high frequency then there is a high probability that they have a traceability link between them. The approach is evaluated on a number of versions of the open source system KDE. As a validation step, the discovered links are used to predict similar changes in the newer versions of the same system. The results show highly precision predictions of certain types of traceability links.
Huzefa H. Kagdi, Jonathan I. Maletic, Bonita Sharif
ICPC1
2007 Assessing the Comprehension of UML Class Diagrams via Eye Tracking
abstract
Eye-tracking equipment is used to assess how well a subject comprehends UML class diagrams. The results of a study are presented in which eye movements are captured in a non-obtrusive manner as users performed various comprehension tasks on UML class diagrams. The goal of the study is to identify specific characteristics of UML class diagrams, such as layout, color, and stereotype usage that are most effective for supporting a given task. Results indicate subjects have a variation in the eye movements (i.e., how the subjects navigate the diagram) depending on their UML expertise and software-design ability to solve the given task. Layouts with additional semantic information about the design were found to be most effective and the use of class stereotypes seems to play a substantial role in comprehension of these diagrams.
Shehnaaz Yusuf, Huzefa H. Kagdi, Jonathan I. Maletic
ICPC2
2007 Improving change prediction with fine-grained source code mining
abstract
The thesis proposes a software-change prediction approach that is based on mining fine-grained evolutionary couplings from source code repositories. Here, fine-grain refers to identifying couplings between source code entities such as methods, control structures, or even comments. This differs from current source code mining techniques that typically only identify couplings between files or fairly high-level entities. Furthermore, the model combines the mined evolutionary couplings with the estimated changes identified by traditional impact analysis techniques (e.g., static analysis of call and program-dependency graphs). The research hypothesis is that software-change prediction using the proposed synergistic approach results in an overall improved expressiveness (i.e., granularity and context given to a developer) and effectiveness (i.e., accuracy of the prediction)
Huzefa H. Kagdi
ASE1
2007 An approach to mining call-usage patternswith syntactic context
abstract
An approach to mine frequently appearing ordered sets of function-call usages, taking into account their proximal control constructs (e.g., if-statements), in the source code is presented. These ordered sets are termed as call-usage patterns. Additionally, variant usages, such as those with missing or out of order calls, are automatically identified along with their specific contextual location. The approach uses lightweight source code analysis and frequent sequential pattern mining. The hypothesis is that these call-usage patterns embody latent programming rules that developers commonly reuse, for example standard usages of API calls. The variants are an indicator of future changes such as the elimination of non-standard usages and/or bugs
Huzefa H. Kagdi, Michael L. Collard, Jonathan I. Maletic
ASE1
2007 A survey and taxonomy of approaches for mining software repositories in the context of software evolution
abstract
Abstract A comprehensive literature survey on approaches for mining software repositories (MSR) in the context of software evolution is presented. In particular, this survey deals with those investigations that examine multiple versions of software artifacts or other temporal information. A taxonomy is derived from the analysis of this literature and presents the work via four dimensions: the type of software repositories mined (what), the purpose (why), the adopted/invented methodology used (how), and the evaluation method (quality). The taxonomy is demonstrated to be expressive (i.e., capable of representing a wide spectrum of MSR investigations) and effective (i.e., facilitates similarities and comparisons of MSR investigations). Lastly, a number of open research issues in MSR that require further investigation are identified. Copyright © 2007 John Wiley & Sons, Ltd.
Huzefa H. Kagdi, Michael L. Collard, Jonathan I. Maletic
J. Softw. Maintenance Res. Pract.1
2007 Mining evolutionary dependencies from web-localization repositories
abstract
Abstract An approach to mining repositories of web‐based user documentation for patterns of evolutionary change in the context of internationalization and localization is presented. Localized web documents that are frequently co‐changed (i.e., an evolutionary dependency) during the natural language translation process are uncovered to support the future evolution of the system. A sequential‐pattern mining technique is used to uncover patterns from version histories. Characteristics of the uncovered patterns such as size, frequency, and occurrence within a single natural language or across multiple languages are discussed. Such patterns help provide an insight into the effort required in retranslation due to a change in the documentation. The approach is validated on the open source K Desktop Environment (KDE) system. KDE maintains documentation for over 50 different natural languages and presents a prime example of the problem. The technique accurately predicts which documents in KDE are retranslated or updated in future versions. Copyright © 2007 John Wiley & Sons, Ltd.
Huzefa H. Kagdi, Jonathan I. Maletic
J. Softw. Maintenance Res. Pract.1
2005 Hybridizing evolutionary algorithms and clustering algorithms to find source-code clones
abstract
This paper presents a hybrid approach to detect source-code clones that combines evolutionary algorithms and clustering. A case-study is conducted on a small C++ code base. The preliminary investigation indicates that such an approach is effective in detecting groups of source-code clones.
Andrew M. Sutton, Huzefa H. Kagdi, Jonathan I. Maletic, L. Gwenn Volkert
GECCO2
2005 Context-Free Slicing of UML Class Models
abstract
The concept of model slicing is introduced as a means to support maintenance through the understanding, querying, and analysis of large UML models. The specific models being examined are class models as defined in the Unified Modeling Language (UML). Model slicing is analogous to classical program slicing. Since UML class models do not explicitly embody any behavioral aspect by themselves, models slices are computed in a context-free manner. The paper defines and formalizes the concept of context-free model slicing. A concrete application of model slicing in software maintenance is presented to support the usefulness and validity of the method.
Huzefa H. Kagdi, Jonathan I. Maletic, Andrew M. Sutton
ICSM1