Haidar Harmanani | Lebanese American University (original) (raw)
Uploads
Papers by Haidar Harmanani
This paper presents an efficient approach for the test scheduling problem of core-based systems b... more This paper presents an efficient approach for the test scheduling problem of core-based systems based on a genetic algorithm. The method minimizes the overall test application time of a system-on-a-chip through efficient and compact test schedules. The problem is solved using a "sessionless" scheme that minimizes the number of idle test slots. The method can handle SOC test scheduling with and without power constraints. We present experimental results for various SOC examples that demonstrate the effectiveness of our method. The method achieved optimal test schedules in all attempted cases in a short CPU time.
Software quality is defined as the degree to which a software component or system meets specified... more Software quality is defined as the degree to which a software component or system meets specified requirements and specifications. Assessing software quality in the early stages of design and development is crucial as it helps reduce effort, time and money. However, the task is difficult since most software quality characteristics (such as maintainability, reliability and reusability) cannot be directly and objectively measured before the software product is deployed and used for a certain period of time. Nonetheless, these software quality characteristics can be predicted from other measurable software quality attributes such as complexity and inheritance. Many metrics have been proposed for this purpose. In this context, we speak of estimating software quality characteristics from measurable attributes. For this purpose, software quality estimation models have been widely used. These take different forms: statistical models, rule-based models and decision trees. However, data used to build such models is scarce in the domain of software quality. As a result, the accuracy of the built estimation models deteriorates when they are used to predict the quality of new software components. In this paper, we propose a search-based software engineering approach to improve the prediction accuracy of software quality estimation models by adapting them to new unseen software products. The method has been implemented and favorable result comparisons are reported in this work. deduced from several measurable software attributes such as cohesion, coupling and size. For this purpose, several metrics that capture such attributes have been proposed in the literature [7], [17], [15], [10], [27], [26],[33], [32], and [35].
International Journal of Electronics, 2013
With the growing trend of increasing number of cores on a single chip, bus-based communication is... more With the growing trend of increasing number of cores on a single chip, bus-based communication is suffering from bandwidth and scalability issues. As a result, the new approach is to use a network on chip (NoC) as the main communication system on a SoC. NoC provides the flexibility and scalability much needed in the era of multi-cores. NoC-based systems also provide the capability of multiple clocking that is widely used in many SoC nowadays. In this paper, an optimal integer linear programming (ILP) solution for test scheduling of cores in a NoC-based SoC using multiple clock rates is presented. Results on different benchmarks show the effectiveness of our techniques.
Parallel genetic algorithms techniques have been used in a variety of computer engineering and sc... more Parallel genetic algorithms techniques have been used in a variety of computer engineering and science areas. This paper presents a parallel genetic algorithm to solve the geometrically constrained site layout problem that involves coordinating the use of limited space to accommodate temporary facilities subject to geometric constraints. The algorithm is parallelized based on a message passing architecture using parallel search and chromosomes migration. The algorithm is tested on a variety of layout problems to illustrate its performance and many favorable results are reported.
International Journal of Computers and Applications, 2007
This paper presents an efficient method for concurrent built-in self-test synthesis and test sche... more This paper presents an efficient method for concurrent built-in self-test synthesis and test scheduling in high-level synthesis. The method maximizes concurrent testing of modules while performing the allocation of functional units, test registers, and interconnects.
This paper investigates the use of parallel genetic algorithms in order to solve the open-shop sc... more This paper investigates the use of parallel genetic algorithms in order to solve the open-shop scheduling problem. The method is based on an interesting implementation of genetic operators that combines the use of deterministic and random moves. The method is implemented using MPI on a Beowulf cluster. Favorable results comparisons using the Taillard benchmarks are reported.
Filtration Industry Analyst, 2000
Abstract A new method of redesign for testability at the Register-Transfer Level (RTL) is propose... more Abstract A new method of redesign for testability at the Register-Transfer Level (RTL) is proposed. The method identifies hard to test parts of a an RTL design synthesized either manually or automatically using high-level synthesis tools. The design is modified by inserting additional test registers followed by a test selection process. During the selection process, two test metrics are used in order to minimize test overhead. Finally, test scheduling is performed so that to minimize the overall test time and the number of test sessions. The ...
Information & Software Technology, 2009
Software quality is defined as the degree to which a software component or system meets specified... more Software quality is defined as the degree to which a software component or system meets specified requirements and specifications. Assessing software quality in the early stages of design and development is crucial as it helps reduce effort, time and money. However, the task is difficult since most software quality characteristics (such as maintainability, reliability and reusability) cannot be directly and objectively measured before the software product is deployed and used for a certain period of time. Nonetheless, these software quality characteristics can be predicted from other measurable software quality attributes such as complexity and inheritance. Many metrics have been proposed for this purpose. In this context, we speak of estimating software quality characteristics from measurable attributes. For this purpose, software quality estimation models have been widely used. These take different forms: statistical models, rule-based models and decision trees. However, data used to build such models is scarce in the domain of software quality. As a result, the accuracy of the built estimation models deteriorates when they are used to predict the quality of new software components. In this paper, we propose a search-based software engineering approach to improve the prediction accuracy of software quality estimation models by adapting them to new unseen software products. The method has been implemented and favorable result comparisons are reported in this work. deduced from several measurable software attributes such as cohesion, coupling and size. For this purpose, several metrics that capture such attributes have been proposed in the literature [7], [17], [15], [10], [27], [26],[33], [32], and [35].
Abstract Test generation is a highly complex and time-consuming task. In this work, we present a ... more Abstract Test generation is a highly complex and time-consuming task. In this work, we present a distributed method for combinational test generation. The method is based on a hybrid approach that combines both deterministic and genetic approaches. The deterministic phase is based on the D-algorithm and generates an initial set of test vectors that are evolved in the genetic phase in order to achieve high fault coverage in a short time. The algorithm is parallelized based on a cluster of workstations using the message ...
This paper presents a method for concurrent BIST cost estimation during testable data path alloca... more This paper presents a method for concurrent BIST cost estimation during testable data path allocation. The method integrates testability in the design process and generates a distributed test controller that aims to minimize area and power. The system has been implemented and favorable results are reported.
International Journal of Computational Intelligence and Applications, 2004
Parallel genetic algorithms techniques have been used in a variety of computer engineering and sc... more Parallel genetic algorithms techniques have been used in a variety of computer engineering and science areas. This paper presents a parallel genetic algorithm to solve the geometrically constrained site layout problem that involves coordinating the use of limited space to accommodate temporary facilities subject to geometric constraints. The algorithm is parallelized based on a message passing architecture using parallel search and chromosomes migration. The algorithm is tested on a variety of layout problems to illustrate its performance and many favorable results are reported.
This paper presents an efficient approach for the test scheduling problem of core-based systems b... more This paper presents an efficient approach for the test scheduling problem of core-based systems based on a genetic algorithm. The method minimizes the overall test application time of a system-on-a-chip through efficient and compact test schedules. The problem is solved using a "sessionless" scheme that minimizes the number of idle test slots. The method can handle SOC test scheduling with and without power constraints. We present experimental results for various SOC examples that demonstrate the effectiveness of our method. The method achieved optimal test schedules in all attempted cases in a short CPU time.
Software quality is defined as the degree to which a software component or system meets specified... more Software quality is defined as the degree to which a software component or system meets specified requirements and specifications. Assessing software quality in the early stages of design and development is crucial as it helps reduce effort, time and money. However, the task is difficult since most software quality characteristics (such as maintainability, reliability and reusability) cannot be directly and objectively measured before the software product is deployed and used for a certain period of time. Nonetheless, these software quality characteristics can be predicted from other measurable software quality attributes such as complexity and inheritance. Many metrics have been proposed for this purpose. In this context, we speak of estimating software quality characteristics from measurable attributes. For this purpose, software quality estimation models have been widely used. These take different forms: statistical models, rule-based models and decision trees. However, data used to build such models is scarce in the domain of software quality. As a result, the accuracy of the built estimation models deteriorates when they are used to predict the quality of new software components. In this paper, we propose a search-based software engineering approach to improve the prediction accuracy of software quality estimation models by adapting them to new unseen software products. The method has been implemented and favorable result comparisons are reported in this work. deduced from several measurable software attributes such as cohesion, coupling and size. For this purpose, several metrics that capture such attributes have been proposed in the literature [7], [17], [15], [10], [27], [26],[33], [32], and [35].
International Journal of Electronics, 2013
With the growing trend of increasing number of cores on a single chip, bus-based communication is... more With the growing trend of increasing number of cores on a single chip, bus-based communication is suffering from bandwidth and scalability issues. As a result, the new approach is to use a network on chip (NoC) as the main communication system on a SoC. NoC provides the flexibility and scalability much needed in the era of multi-cores. NoC-based systems also provide the capability of multiple clocking that is widely used in many SoC nowadays. In this paper, an optimal integer linear programming (ILP) solution for test scheduling of cores in a NoC-based SoC using multiple clock rates is presented. Results on different benchmarks show the effectiveness of our techniques.
Parallel genetic algorithms techniques have been used in a variety of computer engineering and sc... more Parallel genetic algorithms techniques have been used in a variety of computer engineering and science areas. This paper presents a parallel genetic algorithm to solve the geometrically constrained site layout problem that involves coordinating the use of limited space to accommodate temporary facilities subject to geometric constraints. The algorithm is parallelized based on a message passing architecture using parallel search and chromosomes migration. The algorithm is tested on a variety of layout problems to illustrate its performance and many favorable results are reported.
International Journal of Computers and Applications, 2007
This paper presents an efficient method for concurrent built-in self-test synthesis and test sche... more This paper presents an efficient method for concurrent built-in self-test synthesis and test scheduling in high-level synthesis. The method maximizes concurrent testing of modules while performing the allocation of functional units, test registers, and interconnects.
This paper investigates the use of parallel genetic algorithms in order to solve the open-shop sc... more This paper investigates the use of parallel genetic algorithms in order to solve the open-shop scheduling problem. The method is based on an interesting implementation of genetic operators that combines the use of deterministic and random moves. The method is implemented using MPI on a Beowulf cluster. Favorable results comparisons using the Taillard benchmarks are reported.
Filtration Industry Analyst, 2000
Abstract A new method of redesign for testability at the Register-Transfer Level (RTL) is propose... more Abstract A new method of redesign for testability at the Register-Transfer Level (RTL) is proposed. The method identifies hard to test parts of a an RTL design synthesized either manually or automatically using high-level synthesis tools. The design is modified by inserting additional test registers followed by a test selection process. During the selection process, two test metrics are used in order to minimize test overhead. Finally, test scheduling is performed so that to minimize the overall test time and the number of test sessions. The ...
Information & Software Technology, 2009
Software quality is defined as the degree to which a software component or system meets specified... more Software quality is defined as the degree to which a software component or system meets specified requirements and specifications. Assessing software quality in the early stages of design and development is crucial as it helps reduce effort, time and money. However, the task is difficult since most software quality characteristics (such as maintainability, reliability and reusability) cannot be directly and objectively measured before the software product is deployed and used for a certain period of time. Nonetheless, these software quality characteristics can be predicted from other measurable software quality attributes such as complexity and inheritance. Many metrics have been proposed for this purpose. In this context, we speak of estimating software quality characteristics from measurable attributes. For this purpose, software quality estimation models have been widely used. These take different forms: statistical models, rule-based models and decision trees. However, data used to build such models is scarce in the domain of software quality. As a result, the accuracy of the built estimation models deteriorates when they are used to predict the quality of new software components. In this paper, we propose a search-based software engineering approach to improve the prediction accuracy of software quality estimation models by adapting them to new unseen software products. The method has been implemented and favorable result comparisons are reported in this work. deduced from several measurable software attributes such as cohesion, coupling and size. For this purpose, several metrics that capture such attributes have been proposed in the literature [7], [17], [15], [10], [27], [26],[33], [32], and [35].
Abstract Test generation is a highly complex and time-consuming task. In this work, we present a ... more Abstract Test generation is a highly complex and time-consuming task. In this work, we present a distributed method for combinational test generation. The method is based on a hybrid approach that combines both deterministic and genetic approaches. The deterministic phase is based on the D-algorithm and generates an initial set of test vectors that are evolved in the genetic phase in order to achieve high fault coverage in a short time. The algorithm is parallelized based on a cluster of workstations using the message ...
This paper presents a method for concurrent BIST cost estimation during testable data path alloca... more This paper presents a method for concurrent BIST cost estimation during testable data path allocation. The method integrates testability in the design process and generates a distributed test controller that aims to minimize area and power. The system has been implemented and favorable results are reported.
International Journal of Computational Intelligence and Applications, 2004
Parallel genetic algorithms techniques have been used in a variety of computer engineering and sc... more Parallel genetic algorithms techniques have been used in a variety of computer engineering and science areas. This paper presents a parallel genetic algorithm to solve the geometrically constrained site layout problem that involves coordinating the use of limited space to accommodate temporary facilities subject to geometric constraints. The algorithm is parallelized based on a message passing architecture using parallel search and chromosomes migration. The algorithm is tested on a variety of layout problems to illustrate its performance and many favorable results are reported.