Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Kiarash Mahdavi is active.

Publication


Featured researches published by Kiarash Mahdavi.


genetic and evolutionary computation conference | 2005

An empirical study of the robustness of two module clustering fitness functions

Mark Harman; Stephen Swift; Kiarash Mahdavi

Two of the attractions of search-based software engineering (SBSE) derive from the nature of the fitness functions used to guide the search. These have proved to be highly robust (for a variety of different search algorithms) and have yielded insight into the nature of the search space itself, shedding light upon the software engineering problem in hand.This paper aims to exploit these two benefits of SBSE in the context of search based module clustering. The paper presents empirical results which compare the robustness of two fitness functions used for software module clustering: one (MQ) used exclusively for module clustering. The other is EVM, a clustering fitness function previously applied to time series and gene expression data.The results show that both metrics are relatively robust in the presence of noise, with EVM being the more robust of the two. The results may also yield some interesting insights into the nature of software graphs.


international conference on software maintenance | 2006

Allowing Overlapping Boundaries in Source Code using a Search Based Approach to Concept Binding

Nicolas Gold; Mark Harman; Zheng Li; Kiarash Mahdavi

One approach to supporting program comprehension involves binding concepts to source code. Previously proposed approaches to concept binding have enforced non-overlapping boundaries. However, real-world programs may contain overlapping concepts. This paper presents techniques to allow boundary overlap in the binding of concepts to source code. In order to allow boundaries to overlap, the concept binding problem is reformulated as a search problem. It is shown that the search space of overlapping concept bindings is exponentially large, indicating the suitability of sampling-based search algorithms. Hill climbing and genetic algorithms are introduced for sampling the space. The paper reports on experiments that apply these algorithms to 21 COBOL II programs taken from the commercial financial services sector. The results show that the genetic algorithm produces significantly better solutions than both the hill climber and random search


automated software engineering | 2008

Dependence Anti Patterns

David W. Binkley; Nicolas Gold; Mark Harman; Zheng Li; Kiarash Mahdavi; Joachim Wegener

A dependence anti pattern is a dependence structure that may indicate potential problems for on-going software maintenance and evolution. Dependence anti patterns are not structures that must always be avoided. Rather, they denote warnings that should be investigated. This paper defines a set of dependence anti patterns and presents a series of case studies that show how these patterns can be identified using techniques for dependence analysis and visualization. The paper reports the results of this analysis on six real world programs, two of which are open source and four of which are part of production code in use with Daimler.


genetic and evolutionary computation conference | 2003

Finding building blocks for software clustering

Kiarash Mahdavi; Mark Harman; Robert M. Hierons

It is generally believed that good modularization of software leads to systems which are easier to design, develop, test, maintain and evolve [1].


australian software engineering conference | 2008

An empirical study of the relationship between the concepts expressed in source code and dependence

David W. Binkley; Nicolas Gold; Mark Harman; Zheng Li; Kiarash Mahdavi

Programs express domain-level concepts in their source code. It might be expected that such concepts would have a degree of semantic cohesion. This cohesion ought to manifest itself in the dependence between statements all of which contribute to the computation of the same concept. This paper addresses a set of research questions that capture this informal observation. It presents the results of experiments on 10 programs that explore the relationship between domain-level concepts and dependence in source code. The results show that code associated with concepts has a greater degree of coherence, with tighter dependence. This finding has positive implications for the analysis of concepts as it provides an approach to decompose a program into smaller executable units, each of which captures the behaviour of the program with respect to a domain-level concept.


working conference on reverse engineering | 2006

An Empirical Study of Executable Concept Slice Size

David W. Binkley; Nicolas Gold; Mark Harman; Zheng Li; Kiarash Mahdavi

An executable concept slice extracts from a program an executable subprogram that captures the semantics of a specified high-level concept from the program. Executable concept slicing combines the executability of program slicing, with the expressive domain level criteria of concept assignment. This paper presents results from an investigation of executable concept slice size to assess the effectiveness of executable concept slicing. The results show that the coherence of concept-based slicing criteria allows them to produce smaller executable concept slices than arbitrary criteria, providing evidence for the applicability of executable concept slicing


source code analysis and manipulation | 2008

Evaluating Key Statements Analysis

David W. Binkley; Nicolas Gold; Mark Harman; Zheng Li; Kiarash Mahdavi

Key statement analysis extracts from a program, statements that form the core of the programpsilas computation. A good set of key statements is small but has a large impact. Key statements form a useful starting point for understanding and manipulating a program. An empirical investigation of three kinds of key statements is presented. The three are based on Bieman and Ottpsilas principal variables. To be effective, the key statements must have high impact and form a small, highly cohesive unit. Using a minor improvement of metrics for measuring impact and cohesion, key statements are shown to capture about 75% of the semantic effect of the function from which they are drawn. At the same time, they have cohesion about 20 percentage points higher than the corresponding function. A statistical analysis of the differences shows that key statements have higher average impact and higher average cohesion (p<0.001).


international conference on software maintenance | 2003

A multiple hill climbing approach to software module clustering

Kiarash Mahdavi; Mark Harman; Robert M. Hierons


Genetic Programming and Evolvable Machines | 2002

Book Review: Automatic Re-Engineering of Software Using Genetic Programming

Kiarash Mahdavi; Mark Harman


Archive | 2006

13 th Working Conference on Reverse Engineering (WCRE 06)

Nicolas Gold; Mark Harman; Zheng Li; Kiarash Mahdavi

Collaboration


Dive into the Kiarash Mahdavi's collaboration.

Top Co-Authors

Avatar

Mark Harman

University College London

View shared research outputs
Top Co-Authors

Avatar

Nicolas Gold

University College London

View shared research outputs
Top Co-Authors

Avatar

Zheng Li

Beijing University of Chemical Technology

View shared research outputs
Top Co-Authors

Avatar

David W. Binkley

Loyola University Maryland

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Stephen Swift

Brunel University London

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge