correct program
Recently Published Documents


TOTAL DOCUMENTS

29
(FIVE YEARS 8)

H-INDEX

5
(FIVE YEARS 1)

2021 ◽  
Author(s):  
Besma Khaireddine ◽  
Aleksandr Zakharchenko ◽  
Ali Mili

To repair a program does not mean to make it absolutely correct; it only means to make it more-correct, in some sense, than it is. This distinction has consequences: Given that software products typically have a dozen faults per KLOC and thousands of KLOC’s, program repair tools ought to be designed in such a way as to transform an incorrect program into an incorrect, albeit more-correct, program. In the absence of a concept of relative correctness (the property of a program to be more-correct than another with respect to a specification), program repair methods have resorted to various approximations of absolute correctness. This shortcoming has been concealed by the fact that they are usually validated on programs with a single fault at a time, for which the goals of absolute correctness and relative correctness are indistinguishable. In this paper we discuss how the use of relative correctness can reduce the scale of patch generation and enhance the efficiency, precision and recall of patch validation.


Author(s):  
Insan Taufik ◽  
Kana Saputra S ◽  
Debi Yandra Niska

Mengajar matakuliah yang berkaitan dengan Bahasa Pemrograman tidak sama seperti mengajar matakuliah teori atau praktik pada umumnya. Saat di dalam kelas, dosen sering berkeliling menjumpai mahasiswa satu per satu untuk mengamati, menerima keluhan, dan mengoreksi kode program yang dibuat oleh mahasiswa, sehingga waktu untuk praktikum banyak terpakai oleh dosen untuk kegiatan berkeliling dan menjadi tidak efisien untuk proses belajar mengajar. Kesulitan itu juga sangat dirasakan mahasiswa saat pembelajaran dilakukan secara daring (online) akibat pandemic Covid-19. Penelitian ini bertujuan untuk membuat media praktikum berbasis web yang dapat memudahkan mahasiswa dan dosen dalam belajar Bahasa Pemrograman secara daring (online). Model pengembangan menggunakan waterfall yang terdiri dari analisis kebutuhan, desain, pembuatan kode program, pengujian, dan pemeliharaan. Hasil Penelitian menunjukkan bahwa media praktikum Bahasa Pemrograman berbasis web dapat digunakan sebagai opsi dalam pembelajaran bahasa pemrograman tertentu secara daring (online). Teaching programming languages courses is not the same as teaching theoretical or practical courses in general. Lecturers often go around to meet students one by one to serve, receive complaints, and correct program codes made by students. Therefore, a lot of time during the practicum class is used for traveling activities and it becomes inefficient for the learning process. Students also felt this difficulty when doing online learning process because the Covid-19 pandemic. Based on these problems, this study aims to create a web-based practicum media that can make it easier for students and lecturers to learn programming language. This research uses the development of waterfall model which consists of needs analysis, design, programming, testing, and maintenance. The result obtained, the web-based programming language practicum media can be used as an option in learning certain programming languages (online).


Author(s):  
S. Blom ◽  
S. Darabi ◽  
M. Huisman ◽  
M. Safari

AbstractA commonly used approach to develop deterministic parallel programs is to augment a sequential program with compiler directives that indicate which program blocks may potentially be executed in parallel. This paper develops a verification technique to reason about such compiler directives, in particular to show that they do not change the behaviour of the program. Moreover, the verification technique is tool-supported and can be combined with proving functional correctness of the program. To develop our verification technique, we propose a simple intermediate representation (syntax and semantics) that captures the main forms of deterministic parallel programs. This language distinguishes three kinds of basic blocks: parallel, vectorised and sequential blocks, which can be composed using three different composition operators: sequential, parallel and fusion composition. We show how a widely used subset of OpenMP can be encoded into this intermediate representation. Our verification technique builds on the notion of iteration contract to specify the behaviour of basic blocks; we show that if iteration contracts are manually specified for single blocks, then that is sufficient to automatically reason about data race freedom of the composed program. Moreover, we also show that it is sufficient to establish functional correctness on a linearised version of the original program to conclude functional correctness of the parallel program. Finally, we exemplify our approach on an example OpenMP program, and we discuss how tool support is provided.


Author(s):  
Sara Mernissi Arifi ◽  
Rachid Ben Abbou ◽  
Azeddine Zahi

<span>Programming courses are among all the current academic curricula for engineering studies.<a name="_Hlk507421108"></a> Unfortunately, students often face difficulties already on the basic concepts. Both students and teachers believe that practical sessions and guided learning lead to good outcomes. On the other hand, it is virtually difficult considering the number of students enrolled on programming courses. This paper presents an automated assessment system for programming assignments, based on two different methods: static and dynamic analysis. The presented system aims at providing the student with an ongoing and various feedback delivered according to the category and the recurrence of errors. The system imbeds an automated error repairing feature for the purposes of insuring the assessment process achievement. It operates if the student fails to submit a correct program despite the feed-back provided by the system. In such cases, the system uses a penalty mechanism, customized by the teacher to grade the student’s program. Testing the presented automated system, through assessing real students’ assignments, showed promising results compared to manual assessment.</span>


Author(s):  
Ghulam Ahmed Ansari ◽  
Amrita Saha ◽  
Vishwajeet Kumar ◽  
Mohan Bhambhani ◽  
Karthik Sankaranarayanan ◽  
...  

Neural Program Induction (NPI) is a paradigm for decomposing high-level tasks such as complex question-answering over knowledge bases (KBQA) into executable programs by employing neural models. Typically, this involves two key phases: i) inferring input program variables from the high-level task description, and ii) generating the correct program sequence involving these variables. Here we focus on NPI for Complex KBQA with only the final answer as supervision, and not gold programs. This raises major challenges; namely, i) noisy query annotation in the absence of any supervision can lead to catastrophic forgetting while learning, ii) reward becomes extremely sparse owing to the noise. To deal with these, we propose a noise-resilient NPI model, Stable Sparse Reward based Programmer (SSRP) that evades noise-induced instability through continual retrospection and its comparison with current learning behavior. On complex KBQA datasets, SSRP performs at par with hand-crafted rule-based models when provided with gold program input, and in the noisy settings outperforms state-of-the-art models by a significant margin even with a noisier query annotator.


Author(s):  
Ziyu Yao ◽  
Xiujun Li ◽  
Jianfeng Gao ◽  
Brian Sadler ◽  
Huan Sun

Given a text description, most existing semantic parsers synthesize a program in one shot. However, it is quite challenging to produce a correct program solely based on the description, which in reality is often ambiguous or incomplete. In this paper, we investigate interactive semantic parsing, where the agent can ask the user clarification questions to resolve ambiguities via a multi-turn dialogue, on an important type of programs called “If-Then recipes.” We develop a hierarchical reinforcement learning (HRL) based agent that significantly improves the parsing performance with minimal questions to the user. Results under both simulation and human evaluation show that our agent substantially outperforms non-interactive semantic parsers and rule-based agents.1


2017 ◽  
Vol 42 (4) ◽  
pp. 339-358 ◽  
Author(s):  
Krzysztof Krawiec ◽  
Paweł Liskowski

Abstract Genetic programming (GP) is a variant of evolutionary algorithm where the entities undergoing simulated evolution are computer programs. A fitness function in GP is usually based on a set of tests, each of which defines the desired output a correct program should return for an exemplary input. The outcomes of interactions between programs and tests in GP can be represented as an interaction matrix, with rows corresponding to programs in the current population and columns corresponding to tests. In previous work, we proposed SFIMX, a method that performs only a fraction of interactions and employs non-negative matrix factorization to estimate the outcomes of remaining ones, shortening GP’s runtime. In this paper, we build upon that work and propose three extensions of SFIMX, in which the subset of tests drawn to perform interactions is selected with respect to test difficulty. The conducted experiment indicates that the proposed extensions surpass the original SFIMX on a suite of discrete GP benchmarks.


Sign in / Sign up

Export Citation Format

Share Document