diff --git a/Modules/Applications/AppClassification/include/otbVectorPrediction.hxx b/Modules/Applications/AppClassification/include/otbVectorPrediction.hxx
index b90b50f476885e0df9081456cf435173656443b6..30067a636241b981e2b1d1b1cb4877e911c95d41 100644
--- a/Modules/Applications/AppClassification/include/otbVectorPrediction.hxx
+++ b/Modules/Applications/AppClassification/include/otbVectorPrediction.hxx
@@ -164,7 +164,7 @@ otb::ogr::DataSource::Pointer VectorPrediction<RegressionMode>::ReopenDataSource
 }
 
 template <bool                RegressionMode>
-otb::ogr::DataSource::Pointer VectorPrediction<RegressionMode>::CreateOutputDataSource(ogr::DataSource::Pointer source, ogr::Layer& layer)
+otb::ogr::DataSource::Pointer VectorPrediction<RegressionMode>::CreateOutputDataSource(ogr::DataSource::Pointer /*source*/, ogr::Layer& layer)
 {
   ogr::DataSource::Pointer output;
   // Create new OGRDataSource
diff --git a/Modules/Filtering/MathParserX/src/otbParserXPlugins.cxx b/Modules/Filtering/MathParserX/src/otbParserXPlugins.cxx
index 203f34b18dc2634b36eee50bd3e1ad97d08b8542..7570ba3d309e78ad9fcc4efb36873d25e03eadc7 100644
--- a/Modules/Filtering/MathParserX/src/otbParserXPlugins.cxx
+++ b/Modules/Filtering/MathParserX/src/otbParserXPlugins.cxx
@@ -31,7 +31,7 @@ namespace otb
 {
 
 
-void bands::Eval(mup::ptr_val_type& ret, const mup::ptr_val_type* a_pArg, int a_iArgc)
+void bands::Eval(mup::ptr_val_type& ret, const mup::ptr_val_type* a_pArg, int otbUseInDebug(a_iArgc) )
 {
 
   assert (a_iArgc == 2);
diff --git a/Modules/Filtering/Mosaic/include/otbStreamingFeatherMosaicFilter.h b/Modules/Filtering/Mosaic/include/otbStreamingFeatherMosaicFilter.h
index 8c345d29647ed8ab31011a2efa405790abe89d40..7dcf43dd926e67ee2605fa6d835f870d8fae2dc3 100644
--- a/Modules/Filtering/Mosaic/include/otbStreamingFeatherMosaicFilter.h
+++ b/Modules/Filtering/Mosaic/include/otbStreamingFeatherMosaicFilter.h
@@ -127,7 +127,7 @@ protected:
   }
 
   /** Overrided methods */
-  virtual void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId);
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
 private:
   InternalValueType m_FeatheringTransitionDistance; // feathering transition
diff --git a/Modules/Filtering/Mosaic/include/otbStreamingLargeFeatherMosaicFilter.h b/Modules/Filtering/Mosaic/include/otbStreamingLargeFeatherMosaicFilter.h
index c6f1fa75c381855fe396f954fcca92af7aad84c7..b8e85d66c20600bcf18d3fe79f3083ea57c35b81 100644
--- a/Modules/Filtering/Mosaic/include/otbStreamingLargeFeatherMosaicFilter.h
+++ b/Modules/Filtering/Mosaic/include/otbStreamingLargeFeatherMosaicFilter.h
@@ -116,7 +116,7 @@ protected:
   }
 
   /** Overrided method */
-  virtual void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId);
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
 }; // end of class
 
diff --git a/Modules/Filtering/Mosaic/include/otbStreamingMosaicFilterBase.h b/Modules/Filtering/Mosaic/include/otbStreamingMosaicFilterBase.h
index 82903b5e05f3eef82d5fa3b51837281e4403e2ab..2c9f3e5a6d9899e165536db1d8e9067ee2471f44 100644
--- a/Modules/Filtering/Mosaic/include/otbStreamingMosaicFilterBase.h
+++ b/Modules/Filtering/Mosaic/include/otbStreamingMosaicFilterBase.h
@@ -167,13 +167,13 @@ protected:
   /**
    * Methods
    */
-  virtual void GenerateOutputInformation(void);
+  void GenerateOutputInformation(void) override;
 
-  virtual void GenerateInputRequestedRegion(void);
+  void GenerateInputRequestedRegion(void) override;
 
-  virtual void AfterThreadedGenerateData();
+  void AfterThreadedGenerateData() override;
 
-  virtual void BeforeThreadedGenerateData();
+  void BeforeThreadedGenerateData() override;
 
   /** Image extent computing */
   virtual void ImageToExtent(InputImageType* image, InputImagePointType& extentInf, InputImagePointType& extentSup);
diff --git a/Modules/Filtering/Mosaic/include/otbStreamingMosaicFilterWithBlendingBase.h b/Modules/Filtering/Mosaic/include/otbStreamingMosaicFilterWithBlendingBase.h
index 5f78bc120beef283e049a0d966d387ce618eda66..3a3474d6f6c2acef8536cfc599922a2a93711f54 100644
--- a/Modules/Filtering/Mosaic/include/otbStreamingMosaicFilterWithBlendingBase.h
+++ b/Modules/Filtering/Mosaic/include/otbStreamingMosaicFilterWithBlendingBase.h
@@ -100,11 +100,11 @@ protected:
   }
 
   /* Overrided methods */
-  virtual void AddUsedInputImageIndex(unsigned int inputImageIndex);
+  void AddUsedInputImageIndex(unsigned int inputImageIndex) override;
 
-  virtual unsigned int GetNumberOfInputImages();
+  unsigned int GetNumberOfInputImages() override;
 
-  virtual unsigned int GetUsedInputImageIndice(unsigned int i)
+  unsigned int GetUsedInputImageIndice(unsigned int i) override
   {
     return 0.5 * Superclass::GetUsedInputImageIndice(i);
   }
diff --git a/Modules/Filtering/Mosaic/include/otbStreamingSimpleMosaicFilter.h b/Modules/Filtering/Mosaic/include/otbStreamingSimpleMosaicFilter.h
index 0d8e042c644b36ef211f643c180d0f9ef349916c..450146859dbaed37df750918b29afa63d25c8d78 100644
--- a/Modules/Filtering/Mosaic/include/otbStreamingSimpleMosaicFilter.h
+++ b/Modules/Filtering/Mosaic/include/otbStreamingSimpleMosaicFilter.h
@@ -84,7 +84,7 @@ protected:
   }
 
   /** Overrided methods */
-  virtual void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId);
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
 private:
   StreamingSimpleMosaicFilter(const Self&); // purposely not implemented
diff --git a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMosaicFilter.h b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMosaicFilter.h
index e7afba352e43079ce5a9901954e2e7273ad95e36..835eb9e485c1177656e9d8904e9c2bfafbd36fa3 100644
--- a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMosaicFilter.h
+++ b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMosaicFilter.h
@@ -96,13 +96,13 @@ public:
   typedef itk::ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
 
   /** Overrided methods */
-  virtual void AllocateOutputs();
-  virtual void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId);
-  virtual void Reset();
-  virtual void Synthetize();
+  void AllocateOutputs() override;
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
+  void Reset() override;
+  void Synthetize() override;
 
   /** Make a DataObject of the correct type to be used as the specified output. */
-  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
   /** Return the computed Mean. */
@@ -432,7 +432,7 @@ protected:
   /** Constructor */
   StreamingStatisticsMosaicFilter(){};
   /** Destructor */
-  ~StreamingStatisticsMosaicFilter() ITK_OVERRIDE
+  ~StreamingStatisticsMosaicFilter() override
   {
   }