Himer Avila-George | Universitat Politècnica de València (original) (raw)

Uploads

Books by Himer Avila-George

Research paper thumbnail of Verificacion De Covering Arrays: Aplicando la Supercomputación y la Computación Grid

Verificacion De Covering Arrays: Aplicando la Supercomputación y la Computación Grid

Papers by Himer Avila-George

Research paper thumbnail of Constructing Real Test-Suites Using an Enhanced Simulated Annealing

Constructing Real Test-Suites Using an Enhanced Simulated Annealing

In software systems, a common source of bugs are unexpected interactions among systems components... more In software systems, a common source of bugs are unexpected interactions among systems components. This risk is increased when the number of software components increases. To reduce this risk and ensure software quality, it may be necessary to test all interactions among the components. Combinatorial testing is a method that can reduce cost and increase the effectiveness of software testing for many applications. Covering arrays are combinatorial structures which can be used to represent test-suites.

Research paper thumbnail of Constructing Covering Arrays using Parallel Computing and Grid Computing

A good strategy to test a software component involves the generation of the whole set of cases th... more A good strategy to test a software component involves the generation of the whole set of cases that participate in its operation. While testing only individual values may not be enough, exhaustive testing of all possible combinations is not always feasible. An alternative technique to accomplish this goal is called combinato-rial testing. Combinatorial testing is a method that can reduce cost and increase the effectiveness of software testing for many applications.

Research paper thumbnail of Using Grid Computing for Constructing Ternary Covering Arrays

Research paper thumbnail of New bounds for ternary covering arrays using a parallel simulated annealing

New bounds for ternary covering arrays using a parallel simulated annealing

Research paper thumbnail of Parallel simulated annealing for the covering arrays construction problem

Parallel simulated annealing for the covering arrays construction problem

lti-server.tamps.cinvestav.mx

Research paper thumbnail of Supercomputing and Grid Computing on the verification of Covering Arrays

Supercomputing and Grid Computing on the verification of Covering Arrays

The Covering Arrays (CAs) are mathematical objects with minimal coverage and maximum cardinality ... more The Covering Arrays (CAs) are mathematical objects with minimal coverage and maximum cardinality that are a good tool for the design of experiments. A covering array is an N×k matrix over an alphabet v s.t. each N×k subset contains at least one time each combination from {0,1,…,v−1}^t , given a positive integer value t. The process of ensuring that a CA contains each of the v t combinations is called verification of CA. In this paper, we present an algorithm for CA verification and its implementation details in three different computation paradigms: (a) sequential approach (SA); (b) parallel approach (PA); and (c) Grid approach (GA). Four different PAs were compared in their performance of verifying a matrix as a CA; the PA with the best performance was included in a different experimentation where the three paradigms, SA, PA, and GA were compared in a benchmark composed by 45 possible CA instances. The results showed the limitations of the different paradigms when solving the verification of CA problem, and points out the necessity of a Grid approach to solve the problem when the size of a CA grows.

Research paper thumbnail of Simulated Annealing for Constructing Mixed Covering Arrays

Simulated Annealing for Constructing Mixed Covering Arrays

Combinatorial testing is a method that can reduce costs and increase the effectiveness of softwar... more Combinatorial testing is a method that can reduce costs and increase the effectiveness of software testing for many applications. It is based on constructing test-suites of economical size, which provide coverage of the most prevalent configurations of parameters. Mixed Covering Arrays (MCAs) are combinatorial structures which can be used to represent these test-suites. This paper presents a new Simulated Annealing (SA) algorithm for Constructing MCAs. This algorithm incorporates several distinguishing features including an efficient heuristic to generate good quality initial solutions, a compound neighborhood function which carefully combines two designed neighborhoods and a fine-tuned cooling schedule. The experimental evidence showed that our SA algorithm improves the obtained results by other approaches reported in the literature, finding the optimal solution in some of the solved cases.

Research paper thumbnail of A parallel algorithm for the verification of Covering Arrays

Covering Arrays (CAs) are combinatorial objects that, with a small number of cases, cover a certa... more Covering Arrays (CAs) are combinatorial objects that, with a small number of cases, cover a certain level of interaction of a set of parameters. CAs have found application in a variety of fields where interactions among factors need to be identified; some of these fields are biology, agriculture, medicine, and software and hardware testing. In particular, a covering array is an N × k matrix over an alphabet v s.t. each N × k subset contains at least one time each combination from {0, 1, ..., v-1}^t , given a positive integer value t. The process of ensuring that a CA contains each of the v t combinations is called verification of CA. When CAs have many variables or their strength is greater than 3, its verification is computationally very expensive. In this paper we present an algorithm for CA verification and its implementation details in sequential and parallel computing.

Research paper thumbnail of Construction of Orthogonal Arrays of Index Unity Using Logarithm Tables for Galois Fields

Construction of Orthogonal Arrays of Index Unity Using Logarithm Tables for Galois Fields

Research paper thumbnail of MAXCLIQUE Problem Solved Using SQL

MAXCLIQUE Problem Solved Using SQL

This paper aims to show that SQL queries can be used to solve a well-known combinatorial optimiza... more This paper aims to show that SQL queries can be used to solve a well-known combinatorial optimization problem, the Maximum Clique Problem (MAXCLIQUE). This problem arises in many real world applications as computer vision and pattern recognition or coding theory to mention some of them. A clique of a graph is a complete subgraph, i.e., a graph where every pair of vertices is an edge. The MAXCLIQUE problem searches for the clique of the largest cardinality in a graph (the one with the greatest number of nodes). We propose a model based on SQL queries to solve this problem. We test our models in 62 random instances. Results show that the use of simple queries can yield solutions for the MAXCLIQUE problem in an easy and accessible form.

Research paper thumbnail of Verification of general and cyclic covering arrays using grid computing

Data Management in …, Jan 1, 2011

A covering array (CA) is an N×k matrix over the alphabet v s.t. each N×k subset contains at least... more A covering array (CA) is an N×k matrix over the alphabet v s.t. each N×k subset contains at least one time each v^t combination. Covering Arrays (CAs) have been applied mainly in software and hardware testing. The construction of CAs requires to do the verification that each N×t subset contains at least one time each v^t combination. In this paper we present a sequential algorithm and a grid algorithm to do the CA verification. The algorithms were tested using a benchmark of CAs of variable strength. The main conclusion of the paper lies in the identification of the strengths and weakness of our algorithms (related to the values of the CA parameters).

Research paper thumbnail of Construction of logarithm tables for Galois Fields

… Education in Science …, Jan 1, 2011

A branch of mathematics commonly used in cryptography is Galois Fields GF(p^n ). Two basic operat... more A branch of mathematics commonly used in cryptography is Galois Fields GF(p^n ). Two basic operations performed in GF(p n ) are the addition and the multiplication. While the addition is generally easy to compute, the multiplication requires a special treatment. A well-known method to compute the multiplication is based on logarithm and antilogarithm tables. A primitive element of a GF(p^n ) is a key part in the construction of such tables, but it is generally hard to find a primitive element for arbitrary values of p and n. This article presents a naive algorithm that can simultaneously find a primitive element of GF(p^n ) and construct its corresponding logarithm and antilogarithm tables. The proposed algorithm was tested in GF(p^n ) for several values of p and n; the results show a good performance, having an average time of 0.46 seconds to find the first primitive element of a given GF(p^n ) for values of n = {2, 3, 4, 5, 8, 12} and prime values p between 2 and 97.

Research paper thumbnail of A heuristic approach for constructing ternary covering arrays using trinomial coefficients

Proceedings of the …, Jan 1, 2010

This paper presents a simulated annealing (SA) algorithm for the construction of ternary covering... more This paper presents a simulated annealing (SA) algorithm for the construction of ternary covering arrays (CAs) using a trinomial coefficient representation. A ternary CA, denoted by CA(t,k,3), is an N×k array where each N×t subarray contains each of the 3^t combinations of symbols at least once. The construction of optimal CAs is, in general, an NP-complete problem. Many reported SA implementations use an N×k matrix representation for the CA construction. Instead of this, we represent ternary CAs using trinomial coefficients in order to reduce the search space for the SA algorithm.

Research paper thumbnail of Optimization of investment options using SQL

Proceedings of the …, Jan 1, 2010

This paper presents a novel use of SQL language to solve a practical optimization problem to find... more This paper presents a novel use of SQL language to solve a practical optimization problem to find the portfolio size and the quantity of money for securities. This problem is known as the Portfolio Selection Problem (PSP). The approach was tested on 9 random instances of PSP. Each instance has up to 12 securities and 50 different choices of money. Each security follows a non-linear profit model. The limitations of our approach are bounded by the computer resources, given that potentially SQL constructs the Cartesian product of the investment options, but it has the advantages of not requiring complex structures and it is easy to understand.

Research paper thumbnail of Verificacion De Covering Arrays: Aplicando la Supercomputación y la Computación Grid

Verificacion De Covering Arrays: Aplicando la Supercomputación y la Computación Grid

Research paper thumbnail of Constructing Real Test-Suites Using an Enhanced Simulated Annealing

Constructing Real Test-Suites Using an Enhanced Simulated Annealing

In software systems, a common source of bugs are unexpected interactions among systems components... more In software systems, a common source of bugs are unexpected interactions among systems components. This risk is increased when the number of software components increases. To reduce this risk and ensure software quality, it may be necessary to test all interactions among the components. Combinatorial testing is a method that can reduce cost and increase the effectiveness of software testing for many applications. Covering arrays are combinatorial structures which can be used to represent test-suites.

Research paper thumbnail of Constructing Covering Arrays using Parallel Computing and Grid Computing

A good strategy to test a software component involves the generation of the whole set of cases th... more A good strategy to test a software component involves the generation of the whole set of cases that participate in its operation. While testing only individual values may not be enough, exhaustive testing of all possible combinations is not always feasible. An alternative technique to accomplish this goal is called combinato-rial testing. Combinatorial testing is a method that can reduce cost and increase the effectiveness of software testing for many applications.

Research paper thumbnail of Using Grid Computing for Constructing Ternary Covering Arrays

Research paper thumbnail of New bounds for ternary covering arrays using a parallel simulated annealing

New bounds for ternary covering arrays using a parallel simulated annealing

Research paper thumbnail of Parallel simulated annealing for the covering arrays construction problem

Parallel simulated annealing for the covering arrays construction problem

lti-server.tamps.cinvestav.mx

Research paper thumbnail of Supercomputing and Grid Computing on the verification of Covering Arrays

Supercomputing and Grid Computing on the verification of Covering Arrays

The Covering Arrays (CAs) are mathematical objects with minimal coverage and maximum cardinality ... more The Covering Arrays (CAs) are mathematical objects with minimal coverage and maximum cardinality that are a good tool for the design of experiments. A covering array is an N×k matrix over an alphabet v s.t. each N×k subset contains at least one time each combination from {0,1,…,v−1}^t , given a positive integer value t. The process of ensuring that a CA contains each of the v t combinations is called verification of CA. In this paper, we present an algorithm for CA verification and its implementation details in three different computation paradigms: (a) sequential approach (SA); (b) parallel approach (PA); and (c) Grid approach (GA). Four different PAs were compared in their performance of verifying a matrix as a CA; the PA with the best performance was included in a different experimentation where the three paradigms, SA, PA, and GA were compared in a benchmark composed by 45 possible CA instances. The results showed the limitations of the different paradigms when solving the verification of CA problem, and points out the necessity of a Grid approach to solve the problem when the size of a CA grows.

Research paper thumbnail of Simulated Annealing for Constructing Mixed Covering Arrays

Simulated Annealing for Constructing Mixed Covering Arrays

Combinatorial testing is a method that can reduce costs and increase the effectiveness of softwar... more Combinatorial testing is a method that can reduce costs and increase the effectiveness of software testing for many applications. It is based on constructing test-suites of economical size, which provide coverage of the most prevalent configurations of parameters. Mixed Covering Arrays (MCAs) are combinatorial structures which can be used to represent these test-suites. This paper presents a new Simulated Annealing (SA) algorithm for Constructing MCAs. This algorithm incorporates several distinguishing features including an efficient heuristic to generate good quality initial solutions, a compound neighborhood function which carefully combines two designed neighborhoods and a fine-tuned cooling schedule. The experimental evidence showed that our SA algorithm improves the obtained results by other approaches reported in the literature, finding the optimal solution in some of the solved cases.

Research paper thumbnail of A parallel algorithm for the verification of Covering Arrays

Covering Arrays (CAs) are combinatorial objects that, with a small number of cases, cover a certa... more Covering Arrays (CAs) are combinatorial objects that, with a small number of cases, cover a certain level of interaction of a set of parameters. CAs have found application in a variety of fields where interactions among factors need to be identified; some of these fields are biology, agriculture, medicine, and software and hardware testing. In particular, a covering array is an N × k matrix over an alphabet v s.t. each N × k subset contains at least one time each combination from {0, 1, ..., v-1}^t , given a positive integer value t. The process of ensuring that a CA contains each of the v t combinations is called verification of CA. When CAs have many variables or their strength is greater than 3, its verification is computationally very expensive. In this paper we present an algorithm for CA verification and its implementation details in sequential and parallel computing.

Research paper thumbnail of Construction of Orthogonal Arrays of Index Unity Using Logarithm Tables for Galois Fields

Construction of Orthogonal Arrays of Index Unity Using Logarithm Tables for Galois Fields

Research paper thumbnail of MAXCLIQUE Problem Solved Using SQL

MAXCLIQUE Problem Solved Using SQL

This paper aims to show that SQL queries can be used to solve a well-known combinatorial optimiza... more This paper aims to show that SQL queries can be used to solve a well-known combinatorial optimization problem, the Maximum Clique Problem (MAXCLIQUE). This problem arises in many real world applications as computer vision and pattern recognition or coding theory to mention some of them. A clique of a graph is a complete subgraph, i.e., a graph where every pair of vertices is an edge. The MAXCLIQUE problem searches for the clique of the largest cardinality in a graph (the one with the greatest number of nodes). We propose a model based on SQL queries to solve this problem. We test our models in 62 random instances. Results show that the use of simple queries can yield solutions for the MAXCLIQUE problem in an easy and accessible form.

Research paper thumbnail of Verification of general and cyclic covering arrays using grid computing

Data Management in …, Jan 1, 2011

A covering array (CA) is an N×k matrix over the alphabet v s.t. each N×k subset contains at least... more A covering array (CA) is an N×k matrix over the alphabet v s.t. each N×k subset contains at least one time each v^t combination. Covering Arrays (CAs) have been applied mainly in software and hardware testing. The construction of CAs requires to do the verification that each N×t subset contains at least one time each v^t combination. In this paper we present a sequential algorithm and a grid algorithm to do the CA verification. The algorithms were tested using a benchmark of CAs of variable strength. The main conclusion of the paper lies in the identification of the strengths and weakness of our algorithms (related to the values of the CA parameters).

Research paper thumbnail of Construction of logarithm tables for Galois Fields

… Education in Science …, Jan 1, 2011

A branch of mathematics commonly used in cryptography is Galois Fields GF(p^n ). Two basic operat... more A branch of mathematics commonly used in cryptography is Galois Fields GF(p^n ). Two basic operations performed in GF(p n ) are the addition and the multiplication. While the addition is generally easy to compute, the multiplication requires a special treatment. A well-known method to compute the multiplication is based on logarithm and antilogarithm tables. A primitive element of a GF(p^n ) is a key part in the construction of such tables, but it is generally hard to find a primitive element for arbitrary values of p and n. This article presents a naive algorithm that can simultaneously find a primitive element of GF(p^n ) and construct its corresponding logarithm and antilogarithm tables. The proposed algorithm was tested in GF(p^n ) for several values of p and n; the results show a good performance, having an average time of 0.46 seconds to find the first primitive element of a given GF(p^n ) for values of n = {2, 3, 4, 5, 8, 12} and prime values p between 2 and 97.

Research paper thumbnail of A heuristic approach for constructing ternary covering arrays using trinomial coefficients

Proceedings of the …, Jan 1, 2010

This paper presents a simulated annealing (SA) algorithm for the construction of ternary covering... more This paper presents a simulated annealing (SA) algorithm for the construction of ternary covering arrays (CAs) using a trinomial coefficient representation. A ternary CA, denoted by CA(t,k,3), is an N×k array where each N×t subarray contains each of the 3^t combinations of symbols at least once. The construction of optimal CAs is, in general, an NP-complete problem. Many reported SA implementations use an N×k matrix representation for the CA construction. Instead of this, we represent ternary CAs using trinomial coefficients in order to reduce the search space for the SA algorithm.

Research paper thumbnail of Optimization of investment options using SQL

Proceedings of the …, Jan 1, 2010

This paper presents a novel use of SQL language to solve a practical optimization problem to find... more This paper presents a novel use of SQL language to solve a practical optimization problem to find the portfolio size and the quantity of money for securities. This problem is known as the Portfolio Selection Problem (PSP). The approach was tested on 9 random instances of PSP. Each instance has up to 12 securities and 50 different choices of money. Each security follows a non-linear profit model. The limitations of our approach are bounded by the computer resources, given that potentially SQL constructs the Cartesian product of the investment options, but it has the advantages of not requiring complex structures and it is easy to understand.