Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Wided Ghardallou is active.

Publication


Featured researches published by Wided Ghardallou.


international colloquium on theoretical aspects of computing | 2011

Computing preconditions and postconditions of while loops

Olfa Mraihi; Wided Ghardallou; Asma Louhichi; Lamia Labed Jilani; Khaled Bsaies; Ali Mili

Weakest preconditions were introduced by Dijkstra as a tool to define the semantics of programming constructs, and thereby as a means to prove the correctness of programs; the dual concept of strongest postcondition was introduced subsequently as an alternative means for the same ends. In this paper, we present and discuss a method to compute weakest preconditions and strongest postconditions of while loops in a C-like programming language; to this effect, we use the concept of invariant relation. Whereas the task of computing weakest preconditions and strongest postconditions of while loops is usually approached by limiting the number of iterations and applying successive sequential compositions, invariant relations afford us a crisper, closed form solution.


international conference on software engineering | 2015

Correctness and relative correctness

Nafi Diallo; Wided Ghardallou; Ali Mili

In the process of trying to define what is a software fault, we have found that to formally define software faults we need to introduce the concept of relative correctness, i.e. the property of a program to be more-correct than another with respect to a given specification. A feature of a program is a fault (for a given specification)only because there exists an alternative to it that would make the program more-correct with respect to the specification.In this paper, we explore applications of the concept of relative correctness in program testing, program repair, and program design.Specifically, we argue that in many situations of software testing, fault removal and program repair, testing for relative correctness rather than absolute correctness leads to clearer conclusions and better outcomes. Also, we find that designing programs by stepwise correctness-enhancing transformations rather than by stepwise correctness-preserving refinements leads to simpler programs and is more tolerant of designer mistakes.


International Conference on Relational and Algebraic Methods in Computer Science | 2015

Relational Mathematics for Relative Correctness

Jules Desharnais; Nafi Diallo; Wided Ghardallou; Marcelo F. Frias; Ali Jaoua; Ali Mili

In earlier work, we had presented a definition of software fault as being any feature of a program that admits a substitution that would make the program more-correct. This definition requires, in turn, that we define the concept of relative correctness, i.e., what it means for a program to be more-correct than another with respect to a given specification. In this paper we broaden our earlier definition to encompass non-deterministic programs, or non-deterministic representations of programs; also, we study the mathematical properties of the new definition, most notably its relation to the refinement ordering, as well as its algebraic properties with respect to the refinement lattice.


The Journal of Logic and Algebraic Programming | 2012

A versatile concept for the analysis of loops

Wided Ghardallou; Olfa Mraihi; Asma Louhichi; Lamia Labed Jilani; Khaled Bsaies; Ali Mili

Abstract Ever since their introduction by Hoare in 1969, invariant assertions have, justifiably, played a key role in the analysis of while loops. In this paper, we discuss a distinct but related concept, viz invariant relations, and show how these can be used to answer many questions pertaining to the analysis of loops, including: how to compute the function of the loop; how to compute an invariant assertion of the loop; how to compute a weakest precondition of the loop; how to compute a strongest postcondition of the loop; how to compute the termination condition of a loop; how to verify whether the loop computes a given function; how to verify whether the loop is correct with respect to a given specification; and finally how to compute an invariant function for the loop. Using a tool we have developed at the University of Tunis to derive invariant relations, we show how all these tasks can be automated by means of a computer algebra system, viz Mathematica (©Wolfram Research). Whenever applicable, we compare the performance of our tool against the performance of others.


international conference on software testing verification and validation | 2016

Debugging without Testing

Wided Ghardallou; Nafi Diallo; Ali Mili; Marcelo F. Frias

It is so inconceivable to debug a program without testing it that these two words are used nearly interchangeably. Yet we argue that using the concept of relative correctness we can indeed remove a fault from a program and prove that the fault has been removed, by proving that the new program is more correct than the original. This is a departure from the traditional roles of proving and testing methods, whereby static proof methods are applied to a correct program to prove its correctness, and dynamic testing methods are applied to an incorrect program to expose its faults.


International Journal of Critical Computer-based Systems | 2014

Verifying while loops with invariant relations

Asma Louhichi; Wided Ghardallou; Khaled Bsaies; Lamia Labed Jilani; Olfa Mraihi; Ali Mili

Traditionally, invariant assertions are used to verify the partial correctness of while loops with respect to pre/post specifications. In this paper we discuss a related but distinct concept, namely invariant relations, and show how invariant relations are a more potent tool in the analysis of while loops: whereas invariant assertions can only be used to prove partial correctness, invariant relations can be used to prove total correctness; also, whereas invariant assertions can only be used to prove correctness, invariant relations can be used to prove correctness and can also be used to prove incorrectness; finally, where traditional studies of loop termination equate termination with iterating a finite number of times, we broaden the definition of termination to also capture the condition that each individual iteration proceeds without raising an exception.


Journal of Symbolic Computation | 2013

Invariant functions and invariant relations: An alternative to invariant assertions

Lamia Labed Jilani; Olfa Mraihi; Asma Louhichi; Wided Ghardallou; Khaled Bsaies; Ali Mili

Whereas the analysis of loops in imperative programs is, justifiably, dominated by the concept of invariant assertion, we submit a related but different concept, of invariant relation, and show how it can be used to analyze diverse aspects of a while loop. We also introduce the concept of invariant function, which is used to generate a broad class of invariant relations.


software engineering and knowledge engineering | 2016

Software Evolution by Correctness Enhancement.

Wided Ghardallou; Nafi Diallo; Ali Mili

Relative correctness is the property of a program to be more-correct than another with respect to a specification; this property enables us to rank candidate programs in a partial ordering structure whose maximal elements are the correct programs. Whereas traditionally we think of program derivation as a process of successive correctnesspreserving transformations (using refinement) starting from the specification, we argue that it is possible to derive programs by successive correctness-enhancing transformations (using relative correctness) starting from abort. One of the attributes of our approach is that it captures in the same mathematical model, not only the derivation of programs from scratch, but also most (if not all) of the activities that arise in software evolution. Given that most software is developed nowadays by evolving existing products rather than from scratch, any advance in the technology of program transformation by correctness enhancement stands to yield significant practical benefits.


Science of Computer Programming | 2017

Projecting programs on specifications: Definition and implications

Jules Desharnais; Nafi Diallo; Wided Ghardallou; Ali Mili

Abstract Given a specification R, it is common for a candidate program P to be doing more than R requires; this is not necessarily bad, and is often unavoidable, due to programming language constraints or to otherwise sensible design decisions. In this paper, we introduce a relational operator that captures, for a given specification R and candidate program P, the functionality delivered by P that is relevant to R. This operator, which we call the projection of P over R (for reasons we explain), has a number of interesting properties, which we explore in this paper.


PrePost@IFM | 2016

Program Repair by Stepwise Correctness Enhancement.

Nafi Diallo; Wided Ghardallou; Ali Mili

Relative correctness is the property of a program to be more-correct than another with respect to a given specification. Whereas the traditional definition of (absolute) correctness divides candidate program into two classes (correct, and incorrect), relative correctness arranges candidate programs on the richer structure of a partial ordering. In other venues we discuss the impact of relative correctness on program derivation, and on program verification. In this paper, we discuss the impact of relative correctness on program testing; specifically, we argue that when we remove a fault from a program, we ought to test the new program for relative correctness over the old program, rather than for absolute correctness. We present analytical arguments to support our position, as well as an empirical argument in the form of a small program whose faults are removed in a stepwise manner as its relative correctness rises with each fault removal until we obtain a correct program.

Collaboration


Dive into the Wided Ghardallou's collaboration.

Top Co-Authors

Avatar

Ali Mili

New Jersey Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Nafi Diallo

New Jersey Institute of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Lamia Labed Jilani

Institut Supérieur de Gestion

View shared research outputs
Top Co-Authors

Avatar

Olfa Mraihi

Institut Supérieur de Gestion

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Marcelo F. Frias

University of Buenos Aires

View shared research outputs
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge