Blog


Aug 10 2021

Automated Classification of Overfitting Patches with Statically Extracted Code

He_Ye_KTH.jpg

Authors: He Ye; Jian Gu; Matias Martinez; Thomas Durieux; Martin Monperrus
Contact: heye@kth.se - KTH Royal Institute of Technology School of Computer Science and Communication, 156318 Stockholm, Stockholm, Sweden
Publication: IEEE Transactions on Software Engineering - Article link

Abstract:
Automatic program repair (APR) aims to reduce the cost of manually fixing software defects. However, APR suffers from generating a multitude of overfitting patches, those patches that fail to correctly repair the defect beyond making the tests pass. This paper presents a novel overfitting patch detection system called ODS to assess the correctness of APR patches. ODS first statically compares a patched program and a buggy program in order to extract code features at the abstract syntax tree (AST) level. Then, ODS uses supervised learning with the captured code features and patch correctness labels to automatically learn a probabilistic model. The learned ODS model can then finally be applied to classify new and unseen program repair patches. We conduct a large-scale experiment to evaluate the effectiveness of ODS on patch correctness classification based on 10,302 patches from Defects4J, Bugs.jar and Bears benchmarks. The empirical evaluation shows that ODS is able to correctly classify 71.9% of program repair patches from 26 projects, which improves the state-of-the-art. ODS is applicable in practice and can be employed as a post-processing procedure to classify the patches generated by different APR systems.

Ref: H. Ye, J. Gu, M. Martinez, T. Durieux and M. Monperrus, "Automated Classification of Overfitting Patches with Statically Extracted Code Features," in IEEE Transactions on Software Engineering, doi: 10.1109/TSE.2021.3071750.

Jul 11 2021

ECOOP-ISSTA 2021

DCR_JMLSpec_capture.jpg

Date: 11-17 July 2021  The DECODER presentation was given on July 13th, 2021.
Place: online
Free registration: https://conf.researchr.org/attending/ecoop-issta-2021/registration

The DECODER consortium submitted a paper that was accepted by the ECOOP 2021 conference organisation committee.

Title: Combining formal and machine learning techniques for the generation of JML specifications
Authors: Armand Puccetti, Gaël de Chalendar (CEA), Pierre-Yves Gibello (OW2)

More

Jul 08 2021

Deep Learning for Code Auto-Completion

JuanCruzBenito.jpg

Title: Automated Source Code Generation and Auto-Completion Using Deep Learning: Comparing and Discussing Current Language Model-Related Approaches
Authors: Juan Cruz-Benito, Sanjay Vishwakarma, Francisco Martin-Fernandez and Ismael Faro
Journal: AI. 2021
Link: https://doi.org/10.3390/ai2010001 

Abstract
In recent years, the use of deep learning in language models has gained much attention. Some research projects claim that they can generate text that can be interpreted as human writing, enabling new possibilities in many application areas. Among the different areas related to language processing, one of the most notable in applying this type of modeling is programming languages. For years, the machine learning community has been researching this software engineering area, pursuing goals like applying different approaches to auto-complete, generate, fix, or evaluate code programmed by humans. Considering the increasing popularity of the deep learning-enabled language models approach, we found a lack of empirical papers that compare different deep learning architectures to create and use language models based on programming code. This paper compares different neural network architectures like Average Stochastic Gradient Descent (ASGD) Weight-Dropped LSTMs (AWD-LSTMs), AWD-Quasi-Recurrent Neural Networks (QRNNs), and Transformer while using transfer learning and different forms of tokenization to see how they behave in building language models using a Python dataset for code generation and filling mask tasks. Considering the results, we discuss each approach’s different strengths and weaknesses and what gaps we found to evaluate the language models or to apply them in a real programming context.

Jun 24 2021

DECODER Presentation by Virgile Prevosto at OW2Con'21

DCR_OW2con21.jpg

Date: 24/6/2021 9:45
Speaker: Virgile Prevosto (CEA LIST)
Register: https://www.ow2con.org 

DECODER Platform: Big Software Discovery and Analysis

Abstract: The DECODER open source platform combines information from different sources to share big software knowledge between developers, testers and maintainers. This centralized knowledge contains very heterogeneous documents (code, comments, documentation, formal specifications, tests and static analysis reports, etc.). A set of NLP-based tools is trained to extract relevant semantic information and find correspondences between the documents, either to provide accurate code summarization or to generate a formal view of a plain-text document, which can then be fed to code analyzers.

For more information:

Jun 10 2021

DECODER Technical Meeting

DCR_June10_AB_Meeting_01.jpg

Date: June 10-11, 2021
Meeting: DECODER Technical Meeting with Advisory Board
Place: Remote
Participants: 27

This DECODER Technical and Advisory Board Meeting comes with a rich agenda including:

  • 10 June PM: WP8, WP2, WP3, wP4 activities ; Advisory Board meeting with a Summary of projet progress, PKM, DECODER Year 2 Demo, Q&A session.
  • 11 June AM: WP1, WP5, WP6, WP7 updates, Technical Discussions 
  • Find more on the private wiki (login required): June 10-11, 2021 Tech Meeting

Jun 09 2021

Two DECODER Beta-Testing Campaigns are Open

https://www.decoder-project.eu/download/Events/DECODER_BT_Campaigns/DCR_betaJmlgen.jpg

Using the ReachOut Beta-testing platform, the DECODER project now offers two campaigns:

  1. DECODER Doc2Json - a tool to extract text/data from word/openoffice/excel documents to json format
  2. DECODER JMLgen - to generate JML annotations from what can be guessed out of a java project

Beta-testers are welcome to try these tools on their own environment and to provide their feedback. Rewards will be offered to recognize particularly diligent beta-testers with:

  • An active participation during the ReachOut test{fest}
  • Several beta-testing campaigns carried out
  • Highest number of complete feedbacks
  • Useful suggestions to designers 

More DECODER campaigns will follow during the upcoming months. Stay tuned!

Jun 09 2021

The DECODER Platform showcased at OW2con'21

Virgile Prevosto (CEA List) is presenting today the DECODER Open Source Project Intelligence Platform  during the OW2 annual conference.

Paris, June 24, 2021 - Several hundreds of OW2con’21 attendees can discover today the new DECODER platform offering big software discovery and analysis features to developers, testers and maintainers. Virgile Prevosto, Researcher at CEA List and project technical lead, is presenting the DECODER platform to online participants, on June 24 at 9:45AM CET, after 30 months of joint development, explaining what makes it a smart environment for IT designers, software testers and maintainers involved in big software. 

The DECODER project is a H2020 European Commission funded project gathering seven members from four European countries, including one University, one research organization, two industrial partners and three SMEs. It is coordinated by Technikon, with CEA List as Technical Leader and involves OW2 as dissemination leader and use case provider. 

Virgile Prevosto summarizes the project outcomes after 30 months of joint development, and explains what makes the platform a greater environment for IT designers, software testers and maintainers involved in Big Software.

Read the full DECODER at OW2con'21 Press Release

Jun 03 2021

XWiki Leverages STAMP Software Testing Suite

https://www.stamp-project.eu/download/main/contributors/Vincent_Massol.jpg?rev=1.2

What is it that characterises XWiki application lifecycle management?

XWiki  is an open source project born 16 years ago, which is continuously improving through 40 new versions per year. This enterprise wiki provides a platform for application development and offers 700 extensions. All together, it contains more than one million lines of java and javascript code. Every month, nearly 50 contributors are working on XWiki (including translations), including around 10 developers regularly involved in the core of the platform. The Build phase is very tool-intensive. A lot of tests and verifications are carried out to ensure optimal quality and compatibility with previous versions.

Which of the automated testing tools in the STAMP project are used regularly by XWiki?

We perform integration tests, unit tests and functional tests on several browsers, with several versions of java, several DBMS and in various Servlet engines. The testing tools developed during the STAMP project help us to validate our test coverage, to improve quality. Each new code that joins an XWiki module is checked in the Build phase to ensure that the quality of the module will be equal or superior to that of the previous version. 

More

May 12 2021

BotPress NLP Open Source Stack

Sylvain_Perron.jpg

In a recent podcast with Software Engineering Daily, Sylvain Perron, CEO of BotPress, explains how BotPress is different from other bot platforms.

"The biggest competitors are the Google and Microsoft, where they offer natural language as a service. And I think that's very difficult to get something high-quality out of those service. And that's kind of like the Firebase approach versus Postgres, whereas with Firebase, like you don't control really well like all the configuration and options. 

And the way Botpress works is, and we're sort of the only one that does that, it's an open source stack. You run it on your computer. You can actually customize everything behind. And so you can really get the extra juice out of the engine. You can really fine tune anything you want. And also, the other advantage is that you can actually host that platform anywhere you want. So if you want to deploy on AWS or on Azure, you can do that, whereas if you go with the major cloud platform, you're actually stuck with that vendor. 

And so it's not very flexible. And so imagine you're your bank or healthcare provider, the idea of streaming all of your customers’ interactions over to Google might be frightening. So for any kind of application, I think developers want this kind of experience where they have control over the stack. And I don't think it feels natural to use just like an HTTP service that does that for you and you have no control. It's like a black box and anything can break at any moment. With Botpress, it's much more natural. It feels like regular software."

May 07 2021

DECODER Year 2 Demonstrator


This video is the long version of the DECODER explainer video.

Discover more features in both following video targeting different IT professionals: