Spelling suggestions: "subject:"constraint 5olving"" "subject:"constraint bolving""
1 |
Milao : a novel framework for mixed imperative and declarative formulation and solving of structural constraintsNarayanan, Vidya Priyadarshini 21 September 2010 (has links)
Advances in constraint solving and increases in processing power have enabled new
approaches for automating specification-based testing. However, writing specifications and
scaling techniques that utilize them remain challenging. We introduce Milao -- a novel
framework for mixed imperative and declarative formulation and solving of structural constraints
-- which addresses both these challenges. One, Milao introduces a mixed style for writing
specifications using a combination of declarative and imperative styles, which provides
flexibility in specification formulation and reduces its burden on the user. Two, it introduces a
mixed technique for solving constraints using a combination of solvers in synergy. As enabling
technologies, the Alloy tool-set and the Java PathFinder model checker are used. Initial
experiments witness the benefits of our framework. / text
|
2 |
A constraint-based partial evaluator for functional logic programs and its applicationLafave, Laura January 1998 (has links)
No description available.
|
3 |
Improving constraint-based test input generation using KoratSrinivasan, Raghavendra 29 June 2015 (has links)
Korat is an existing technique for test input generation using imperative constraints that describe properties of desired inputs written as Java predicates, termed RepOk methods, which are executable checks for those properties. Korat efficiently prunes the space of candidate inputs for the RepOk method by executing it on candidate inputs and monitoring the object fields that RepOk accesses in deciding if the properties are satisfied. While Korat generates inputs effectively, its correctness and efficiency rely on two assumptions about the RepOk methods. For correctness, Korat assumes the RepOk methods do not use the Java reflection API for field accesses; the use of reflection renders Korat unable to enumerate all desired inputs. For efficiency, Korat assumes the RepOk methods do not make unnecessary field accesses, which can reduce the effectiveness of Korat’s pruning. Our thesis addresses both these limitations. To support reflection, we build on the core Korat to enhance it such that it can monitor field accesses based on reflection. To assist the users with writing RepOk’s, we introduce a static analysis tool that detects potential places where the input RepOk may be edited to enhance performance of Korat. We
also present experimental results using a suite of standard data structure subjects. / text
|
4 |
Constraint-Driven Open-World Scene GenerationBorlik, Hunter 01 June 2023 (has links) (PDF)
We introduce an alternative method for open-world scene generation. In this thesis, Graph-based Wave Function Collapse (GWFC) is integrated with Space Colonization Algorithm (SCA) and used to place objects in an unstructured 3D environment. This combined algorithm, Space Colonization Graph-based Wave Function Collapse (SC-GWFC), leverages the constraint-based capabilities of GWFC and the ability of SCA to populate arbitrary 3D volumes. We demonstrate that objects of variable scale can be successfully used with SC-GWFC. Since this algorithm is run in an interactive environment, we demonstrate iterative modifications to a partially complete scene and incorporate PCG into a scene editing process. As part of the implementation, we also introduce our Scene Modeling Application for rendering and editing 3D scenes. This modeling application allows for editing and viewing constraints for our SC-GWFC scene generator. We evaluate the performance characteristics of SC-GWFC in the Scene Modeling Application to demonstrate that SC-GWFC can be used interactively. Through the application, users can specify adjacency requirements for objects, and SC-GWFC will attempt to place objects in patterns that respect these rules. We demonstrate the ability to place up to 5000 items on a terrain using our proposed SC-GWFC technique.
|
5 |
A SURVEY ON ALGORITHMS FOR SOLVING LINEAR INTEGER TYPE CONSTRAINTSNAYAK, VARUN R. 11 June 2002 (has links)
No description available.
|
6 |
Automated coverage calculation and test case generationMorrison, George Campbell 03 1900 (has links)
Thesis (MScEng)--Stellenbosch University, 2012. / ENGLISH ABSTRACT: This research combines symbolic execution, a formal method of static analysis, with various
test adequacy criteria, to explore the e ectiveness of using symbolic execution for calculating
code coverage on a program's existing JUnit test suites. Code coverage is measured with a
number of test adequacy criteria, including statement coverage, branch coverage, condition
coverage, method coverage, class coverage, and loop coverage. The results of the code coverage
calculation is then used to automatically generate JUnit test cases for areas of a program that
are not su ciently covered. The level of redundancy of each test case is also calculated during
coverage calculation, thereby identifying fully redundant, and partially redundant, test cases.
The combination of symbolic execution and code coverage calculation is extended to perform
coverage calculation during a manual execution of a program, allowing testers to measure the
e ectiveness of manual testing.
This is implemented as an Eclipse plug-in, named ATCO, which attempts to take advantage
of the Eclipse workspace and extensible user interface environment to improve usability of the
tool by minimizing the user interaction required to use the tool.
The code coverage calculation process uses constraint solving to determine method parameter
values to reach speci c areas in the program. Constraint solving is an expensive
computation, so the tool was parallellised using Java's Concurrency package, to reduce the
overall execution time of the tool. / AFRIKAANSE OPSOMMING: Hierdie navorsing kombineer simboliese uitvoering, 'n formele metode van statiese analise, met
verskeie toets genoegsaamheid kriteria, om die e ektiwiteit van die gebruik van simboliese
uitvoer te ondersoek vir die berekening van kode dekking op 'n program se bestaande JUnit
toets stelle. Kode dekking word gemeet deur verskeie toets genoegsaamheid kriteria, insluited
stelling dekking, tak dekking, kondisie dekking, metode dekking, klas dekking, en lus dekking.
Die resultate van die kode dekking berekeninge word dan gebruik om outomaties JUnit toets
voorbeelde te genereer vir areas van 'n program wat nie doeltre end ondersoek word nie. Die
vlak van oortolligheid van elke toets voorbeeld word ook bereken gedurende die dekkingsberekening,
en daardeur word volledig oortollige, en gedeeltelik oortollige, toets voorbeelde
identi seer. Die kombinasie van simboliese uitvoer en kode dekking berekening is uitgebrei
deur die uitvoer van dekking berekeninge van 'n gebruiker-beheerde uitvoer, om sodoende kode
dekking van 'n gebruiker-beheerde uitvoer van 'n program te meet. Dit laat toetsers toe om
die e ektiwiteit van hulle beheerde uitvoer te meet.
Bogenoemde word ge mplimenteer as 'n Eclipse aanvoegsel, genaamd ATCO, wat poog om
voordeel te trek vanuit die Eclipse werkspasie, en die uitbreibare gebruiker oordrag omgewing,
om die bruikbaarheid van ATCO te verbeter, deur die vermindering van die gebruiker interaksie
wat benodig word om ATCO te gebruik.
Die kode dekking berekeningsproses gebruik beperking oplossing om metode invoer waardes
te bereken, om spesi eke areas in die program te bereik. Beperking oplossing is 'n duur berekening,
so ATCO is geparalleliseer, met behulp van Java se Concurrency pakket, om die algehele
uitvoer tyd van die program te verminder.
|
7 |
Techniques for Automatic Generation of Tests from Programs and SpecificationsEdvardsson, Jon January 2006 (has links)
<p>Software testing is complex and time consuming. One way to reduce the effort associated with testing is to generate test data automatically. This thesis is divided into three parts. In the first part a mixed-integer constraint solver developed by Gupta et. al is studied. The solver, referred to as the Unified Numerical Approach (una), is an important part of their generator and it is responsible for solving equation systems that correspond to the program path currently under test.</p><p>In this thesis it is shown that, in contrast to traditional optimization methods, the una is not bounded by the size of the solved equation system. Instead, it depends on how the system is composed. That is, even for very simple systems consisting of one variable we can easily get more than a thousand iterations. It is also shown that the una is not complete, that is, it does not always find a mixed-integer solution when there is one. It is found that a better approach is to use a traditional optimization method, like the simplex method in combination with branch-and-bound and/or a cutting-plane algorithm as a constraint solver.</p><p>The second part explores a specification-based approach for generating tests developed by Meudec. Tests are generated by partitioning the specification input domain into a set of subdomains using a rule-based automatic partitioning strategy. An important step of Meudec’s method is to reduce the number of generated subdomains and find a minimal partition. This thesis shows that Meudec’s minimal partition algorithm</p><p>is incorrect. Furthermore, two new efficient alternative algorithms are developed. In addition, an algorithm for finding the upper and lower bound on the number of subdomains in a partition is also presented.</p><p>Finally, in the third part, two different designs of automatic testing tools are studied. The first tool uses a specification as an oracle. The second tool, on the other hand, uses a reference program. The fault-detection effectiveness of the tools is evaluated using both randomly and systematically generated inputs.</p>
|
8 |
Proceedings of the 23rd Workshop on (Constraint) Logic Programming 2009January 2010 (has links)
The workshops on (constraint) logic programming (WLP) are the annual meeting of the Society of Logic Programming (GLP e.V.) and bring together researchers interested in logic programming, constraint programming, and related areas like databases, artificial intelligence and operations research. The 23rd WLP was held in Potsdam at September 15 – 16, 2009. The topics of the presentations of WLP2009 were grouped into the major areas: Databases, Answer Set Programming, Theory and Practice of Logic Programming as well as Constraints and Constraint Handling Rules.
|
9 |
PrefaceGeske, Ulrich, Wolf, Armin January 2010 (has links)
The workshops on (constraint) logic programming (WLP) are the annual meeting of the Society of Logic Programming (GLP e.V.) and bring together researchers interested in logic programming, constraint programming, and related areas like databases, artificial intelligence and operations research. In this decade, previous workshops took place in Dresden (2008), Würzburg (2007), Vienna (2006), Ulm (2005), Potsdam (2004), Dresden (2002), Kiel (2001), and Würzburg (2000). Contributions to workshops deal with all theoretical, experimental, and application aspects of constraint programming (CP) and logic programming (LP), including foundations of constraint/ logic programming. Some of the special topics are constraint solving and optimization, extensions of functional logic programming, deductive databases, data mining, nonmonotonic reasoning, / interaction of CP/LP with other formalisms like agents, XML, JAVA, program analysis, program transformation, program verification, meta programming, parallelism and concurrency, answer set programming, implementation and software techniques (e.g., types, modularity, design patterns), applications (e.g., in production, environment, education, internet), constraint/logic programming for semantic web systems and applications, reasoning on the semantic web, data modelling for the web, semistructured data, and web query languages.
|
10 |
Enhancing symbolic execution using memoization and incremental techniquesYang, Guowei, active 2013 20 September 2013 (has links)
The last few years have seen a resurgence of interest in the use of symbolic execution--program analysis technique developed more than three decades ago to analyze program execution paths. However, symbolic execution remains an expensive technique and scaling it remains a key technical challenge. There are two key factors that contribute to its cost: (1) the number of paths that need to be explored and (2) the cost of constraint solving, which is typically required for each path explored. Our insight is that the cost of symbolic execution can be reduced by an incremental approach, which uses static analysis and dynamic analysis to focus on relevant parts of code and reuse previous analysis results, thereby addressing both the key cost factors of symbolic execution. This dissertation presents Memoized Incremental Symbolic Execution, a novel approach that embodies our insight. Using symbolic execution in practice often requires several successive runs of the technique on largely similar underlying problems where successive problems differ due to some change, which may be to code, e.g., to fix a bug, to analysis parameters, e.g., to increase the path exploration depth, or to correctness properties, e.g., to check against stronger specifications that are written as assertions in code. Memoized Incremental Symbolic Execution, a three-fold approach, leverages the similarities in the successive problems to reduce the total cost of applying the technique. Our prototype tool-set is based on the Symbolic PathFinder. Experimental results show that Memoized Incremental Symbolic Execution enhances the efficacy of symbolic execution. / text
|
Page generated in 0.0679 seconds