scholarly journals AUTOMATED CONTROL OF THE SOFTWARE PROTOTYPE CODE REVIEW BASED ON THE QUESTION-ANSWERING PROTOCOLS FOR REQUIREMENT ANALYSIS

Author(s):  
Iurii A. Lapshov ◽  

The paper describes the architecture of software tools for automating the management of code review of software prototypes of design solutions that allow to obtain such effects as ensuring interactive interaction between the designer and an expert performing code review, as well as reducing the expert’s time spent on commenting the code by selecting a comment from the list prepared in advance for each requirement from the requirements obtained during the analysis. The tools being developed consist of three main parts. The first part presents requirements in a question-and-answer format including standard comments to be inserted into the prototype code in case of non-compliance with these requirements. The second one is a relational database, which is designed to store the source codes of prototypes aimed at inspection and passed it with expert comments. The third one is a Web-application that allows the designer to send prototype codes for review and see the results of the inspection, and an expert to provide viewing and editing of the prototype source code with the insertion of both standard, pre-prepared comments, and written in free form.

Author(s):  
Min-je Choi ◽  
Sehun Jeong ◽  
Hakjoo Oh ◽  
Jaegul Choo

Detecting buffer overruns from a source code is one of the most common and yet challenging tasks in program analysis. Current approaches based on rigid rules and handcrafted features are limited in terms of flexible applicability and robustness due to diverse bug patterns and characteristics existing in sophisticated real-world software programs. In this paper, we propose a novel, data-driven approach that is completely end-to-end without requiring any hand-crafted features, thus free from any program language-specific structural limitations. In particular, our approach leverages a recently proposed neural network model called memory networks that have shown the state-of-the-art performances mainly in question-answering tasks. Our experimental results using source code samples demonstrate that our proposed model is capable of accurately detecting different types of buffer overruns. We also present in-depth analyses on how a memory network can learn to understand the semantics in programming languages solely from raw source codes, such as tracing variables of interest, identifying numerical values, and performing their quantitative comparisons.


2018 ◽  
Vol 18 (02) ◽  
pp. e18
Author(s):  
Antonio Castro Lechtaler ◽  
Marcelo Cipriano ◽  
Edith García ◽  
Pablo Lázaro ◽  
Julio Liporace ◽  
...  

In previous work we presented preliminary results obtained by reviewing the source code of Qlink.it web application. In this article, after summarizing previous findings, results of the source code review of Qlink.it Android application will be described. This analysis focused on the implementation of cryptographic functionalities. The aim of this publication is also to invite other researchers to analyze the application in order to determine if Qlink.it could be considered secure.


Computers ◽  
2021 ◽  
Vol 10 (4) ◽  
pp. 47
Author(s):  
Fariha Iffath ◽  
A. S. M. Kayes ◽  
Md. Tahsin Rahman ◽  
Jannatul Ferdows ◽  
Mohammad Shamsul Arefin ◽  
...  

A programming contest generally involves the host presenting a set of logical and mathematical problems to the contestants. The contestants are required to write computer programs that are capable of solving these problems. An online judge system is used to automate the judging procedure of the programs that are submitted by the users. Online judges are systems designed for the reliable evaluation of the source codes submitted by the users. Traditional online judging platforms are not ideally suitable for programming labs, as they do not support partial scoring and efficient detection of plagiarized codes. When considering this fact, in this paper, we present an online judging framework that is capable of automatic scoring of codes by detecting plagiarized contents and the level of accuracy of codes efficiently. Our system performs the detection of plagiarism by detecting fingerprints of programs and using the fingerprints to compare them instead of using the whole file. We used winnowing to select fingerprints among k-gram hash values of a source code, which was generated by the Rabin–Karp Algorithm. The proposed system is compared with the existing online judging platforms to show the superiority in terms of time efficiency, correctness, and feature availability. In addition, we evaluated our system by using large data sets and comparing the run time with MOSS, which is the widely used plagiarism detection technique.


Author(s):  
Lianli Gao ◽  
Pengpeng Zeng ◽  
Jingkuan Song ◽  
Yuan-Fang Li ◽  
Wu Liu ◽  
...  

To date, visual question answering (VQA) (i.e., image QA and video QA) is still a holy grail in vision and language understanding, especially for video QA. Compared with image QA that focuses primarily on understanding the associations between image region-level details and corresponding questions, video QA requires a model to jointly reason across both spatial and long-range temporal structures of a video as well as text to provide an accurate answer. In this paper, we specifically tackle the problem of video QA by proposing a Structured Two-stream Attention network, namely STA, to answer a free-form or open-ended natural language question about the content of a given video. First, we infer rich longrange temporal structures in videos using our structured segment component and encode text features. Then, our structured two-stream attention component simultaneously localizes important visual instance, reduces the influence of background video and focuses on the relevant text. Finally, the structured two-stream fusion component incorporates different segments of query and video aware context representation and infers the answers. Experiments on the large-scale video QA dataset TGIF-QA show that our proposed method significantly surpasses the best counterpart (i.e., with one representation for the video input) by 13.0%, 13.5%, 11.0% and 0.3 for Action, Trans., TrameQA and Count tasks. It also outperforms the best competitor (i.e., with two representations) on the Action, Trans., TrameQA tasks by 4.1%, 4.7%, and 5.1%.


2022 ◽  
Vol 31 (2) ◽  
pp. 1-23
Author(s):  
Jevgenija Pantiuchina ◽  
Bin Lin ◽  
Fiorella Zampetti ◽  
Massimiliano Di Penta ◽  
Michele Lanza ◽  
...  

Refactoring operations are behavior-preserving changes aimed at improving source code quality. While refactoring is largely considered a good practice, refactoring proposals in pull requests are often rejected after the code review. Understanding the reasons behind the rejection of refactoring contributions can shed light on how such contributions can be improved, essentially benefiting software quality. This article reports a study in which we manually coded rejection reasons inferred from 330 refactoring-related pull requests from 207 open-source Java projects. We surveyed 267 developers to assess their perceived prevalence of these identified rejection reasons, further complementing the reasons. Our study resulted in a comprehensive taxonomy consisting of 26 refactoring-related rejection reasons and 21 process-related rejection reasons. The taxonomy, accompanied with representative examples and highlighted implications, provides developers with valuable insights on how to ponder and polish their refactoring contributions, and indicates a number of directions researchers can pursue toward better refactoring recommenders.


2011 ◽  
Vol 7 (2) ◽  
pp. 71
Author(s):  
Ivan Magdalenić ◽  
Danijel Radošević ◽  
Dragutin Kermek

The on demand generation of source code and its execution is essential if computers are expected to play an active role in information discovery and retrieval. This paper presents a model of implementation of a source code generator, whose purpose is to generate source code on demand. Theimplementation of the source code generator is fully configurable and its adoption to a new application is done by changing the generator configuration and not the generator itself. The advantage of using the source code generator is rapid and automatic development of a family of application once necessary program templates and generator configuration are made. The model of implementation of the source code generator is general and implemented source code generator can be used in differentareas. We use a source code generator for dynamic generation of ontology supported Web services for data retrieval and for building of different kind of web application.


2020 ◽  
Vol 65 (1) ◽  
pp. 5-16
Author(s):  
Eloisa Paganoni

"Epigraphic squeezes are a key tool for research and teaching. They also have historical and documentary value. They are reliable copies of inscribed text and become the only evidence that remains if inscriptions are lost or destroyed. This paper describes the Venice Squeeze Project for the preservation and enhancement of epigraphic squeezes in the Department of Humanities at Ca’ Foscari University of Venice. For the initial phase of the project, the Ca’ Foscari University collection of epigraphic squeezes was published in the digital ektypotheke E-stampages. The current phase involves developing a web application to digitise epigraphic squeezes according to the metadata architecture of E-stampages. The first part of this paper describes the background of the Venice Squeeze Project and methodological issues, which fostered the partnership with E-stampages. The second part describes the relational database that was set up to digitise the Ca’ Foscari collection. The third part introduces the project initiatives to promote a network of Italian institutions interested in digitizing their collections of epigraphic squeezes. Keywords: Greek epigraphy, squeezes, database architecture"


Panoptikum ◽  
2021 ◽  
pp. 155-167
Author(s):  
Warren Buckland

This paper demonstrates how two logics (narrative and videogame) function in a select number of contemporary blockbuster films. The paper is divided into three sections: The first outlines narrative and videogame logics; the second presents examples from Inception (Christopher Nolan, 2010) and Source Code (Duncan Jones, 2011) to demonstrate how videogame logic structures the events in each film; and the third discusses how these logics create specific storyworlds (imaginary worlds distinct from the actual world) that are unnatural and/or impossible.


2015 ◽  
pp. 1523-1539
Author(s):  
Panagiotis Adamidis ◽  
Georgios Kynigopoulos

This article presents a complete course registration system through the web (EvoWebReg). The system consists of three parts. The first one is a web application which allows the students to submit their course preferences to the system's database, through Internet. The second part is an administrative tool which controls the whole system and allows its smooth operation, and the third part is an evolutionary algorithm which is responsible for the optimization of the student course schedules according to their submitted preferences, and taking into consideration the constraints imposed by the department. The results of the experimental tests of the evolutionary algorithm prove that our initial objectives to provide an open generic and effective tool, which can satisfactory implement the course registration procedure, were achieved. The proposed system is quite general and can be easily adapted to incorporate the needs of other departments.


Sign in / Sign up

Export Citation Format

Share Document