A method and system for generating a test suite for a computer program written in the JAVA programming language. The JAVA program comprises program statements and program variables represented as JAVA source code and compiled by a JAVA compiler into JAVA bytecodes, including at least one input statement having one or more input variables, that are grouped into code blocks and stored in a program database. The test suite comprises sets of inputs. Each of the sets of inputs corresponds to a pth in the program. The program statements corresponding to a candidate code block are read from the program database. Each of the input variables for each input statement and each of the program variables that depend on them are represented in symbolic form as a symbolic memory value and transforming each program statement dependent on such an input variable into a symbolic expression. A trial set of inputs for each of the input statements is created by finding a solution to the symbolic expression obtained using dynamic symbolic execution. The trial set of inputs are stored into the test suite if coverage of the candidate code block was obtained. A dynamic symbolic execution consists of a symbolic execution of the program performed along the path that corresponds to the trial set of actual inputs. The first input to the program is generated randomly. From that first input, inputs satisfying any coverage criteria can be obtained by performing the above procedure iteratively.

Метод и система для производить сюиту испытания для компьутерной программы написанной в языке программирования JAVA. Программа JAVA состоит из заявлений программы и перемеююых программы представленных как Кодий источника JAVA и составленных составителем JAVA в bytecodes JAVA, включая по крайней мере одну input формулировку имея one or more перемеююые входного сигнала, которые собраны в блоки Кодего и сохранены в базе данных программы. Сюита испытания состоит из комплектов входных сигналов. Каждый из комплектов входных сигналов соответствует к pth в программе. Заявления программы соответствуя к блоку Кодего выбранного прочитаны от базы данных программы. Каждая из перемеююых входного сигнала для каждого заявления входного сигнала и каждая из перемеююых программы зависят на их представлены в символической форме как символическое значение и преобразовывать памяти каждого иждивенца заявления программы на такой перемеююом входного сигнала в символическое выражение. Пробный комплект входных сигналов по каждом из из заявления входного сигнала создан путем находить разрешение к символическому полученному выражению использующ динамическое символическое исполнение. Пробный комплект входных сигналов хранится в сюиту испытания если был получен охват блока Кодего выбранного. Динамическое символическое исполнение состоит символического исполнения программы выполненной вдоль курса соответствует к пробному комплекту фактических входных сигналов. Первый входной сигнал к программе произведен случайно. От того первого входного сигнала, входные сигналы удовлетворяя все критери по охвата могут быть получены путем выполнять вышеуказанную процедуру итеративно.

 
Web www.patentalert.com

< (none)

< Database development system with methods for java-string reference lookups of column names

> Distributed asynchronous workflow on the net

> (none)

~ 00001