A model check in a test file is a great idea.

In fact, one of the hot topics of formal technologies is automatic test
generation (at least in the hardware world).


2016-06-28 15:33 GMT+02:00 Daniel Skinner <dan...@dasa.cc>:

> Actually, I was thinking there's probably something in gonum more suitable
> than expressing it as a linear program. When I do searches for boolean
> satisfiability problem for example, simplex is not what's mentioned in
> papers. From what I have understood (I'm by no means an expert in any of
> this), it just so happens people have been able to coerce a solution to
> these kinds of problems (boolean and integer) with simplex. To me that read
> as do-able but not efficient.
>
> I also found it curious what those solutions actually meant when expressed
> from an LP. For example, for boolean the problem/solution were considered
> relaxed since the result is in range 0..1 instead of 0 or 1 and there was
> another step for further resolving i forget. That also brings into question
> accumulated floating point error for something that really shouldn't suffer
> from that, boolean or integer operations.
>
> I didn't dig too much further since I was mostly just interested in what
> formal verification entailed and understanding what many of the tools were
> doing, but i certainly felt like if i really wanted to I could manually
> express a model check today in a test file.
>
> On Tue, Jun 28, 2016 at 2:49 AM Seb Binet <seb.bi...@gmail.com> wrote:
>
>> On Tue, Jun 28, 2016 at 12:24 AM, Daniel Skinner <dan...@dasa.cc> wrote:
>>
>>> > I think a better question is:  can go tools for formal verification
>>> become available?
>>>
>>> I did some research on formal verification recently, no experience
>>> previously. I don't really see why not. Just digging through my own code, I
>>> have an implementation of the simplex method which I could use to solve
>>> boolean and integer linear optimizations. Gonum likely has better
>>> optimizers up for the tasks, though i haven't looked.
>>>
>>
>> FYI, they are here:
>>   https://godoc.org/github.com/gonum/optimize/convex/lp
>>   https://godoc.org/github.com/gonum/optimize#Method
>>
>> examples:
>>
>> https://godoc.org/github.com/gonum/optimize#example-Local
>> https://godoc.org/github.com/gonum/optimize/convex/lp#example-Simplex
>>
>> hth,
>> -s
>>
>>
>>> It just seemed like the most difficult part would be providing an
>>> intuitive way of defining the problem given a domain. Of course, static
>>> analysis is great too and you made me curious, what's missing from the `go`
>>> package to go that route?
>>>
>>> On Sun, Jun 26, 2016 at 3:49 PM <w...@iri-labs.com> wrote:
>>>
>>>> I think a better question is:  can go tools for formal verification
>>>> become available?  The distinction is that formal verification tools can be
>>>> applied to
>>>> hardware, protocols, assembly, software, etc.   Why not do that in go?
>>>>
>>>> Most such tools are in C or C++, and the low level engines/components
>>>> are highly optimised.  Go can easily compete with "standard" C/C++, i.e.
>>>> software which has not been highly optimised.  It also provides enough
>>>> low-level access to be competitive against highly optimised C/C++ (e.g.
>>>> assembly, precision of memory representations) but it takes work.
>>>>
>>>> One of the research initiatives we are taking up is "scalable cloud
>>>>  architectures for formal technologies".  Basically, composable cloud
>>>> microservices for formal technologies like model checking, SAT/BDD/SMT,
>>>> theorem proving, as well as encoders for verification problems, etc, but in
>>>> terms of deployment in the cloud.  A related startup is satalia.  Go is a
>>>> natural fit for this initiative, and we already have some results with go.
>>>>
>>>> I think the biggest obstacle to formal tools targeting analysis of go
>>>> programs is formal representations in the golang "go" package.  Once that
>>>> is available, things will start to snowball.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Le lundi 9 mars 2015 01:07:36 UTC+1, Camilo Aguilar a écrit :
>>>>>
>>>>> I ran across this post today:
>>>>> http://blog.adacore.com/testing-static-formal. Basically, showing how
>>>>> you can do formal verifications in ADA2012. Is it realistic to think that 
>>>>> a
>>>>> feature like that would someday arrive to Go?
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "golang-nuts" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to golang-nuts+unsubscr...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "golang-nuts" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to golang-nuts+unsubscr...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>


-- 
Scott Cotton
President, IRI France SAS
http://www.iri-labs.com

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to