diff --git a/core/includes/batch.inc b/core/includes/batch.inc
index 9e693f5..a3d614d 100644
--- a/core/includes/batch.inc
+++ b/core/includes/batch.inc
@@ -218,9 +218,9 @@ function _batch_process() {
   $set_changed = TRUE;
 
   // If this batch was marked for progressive execution (e.g. forms submitted by
-  // drupal_form_submit()), initialize a timer to determine whether we need to
-  // proceed with the same batch phase when a processing time of 1 second has
-  // been exceeded.
+  // \Drupal::formBuilder()->submitForm(), initialize a timer to determine
+  // whether we need to proceed with the same batch phase when a processing time
+  // of 1 second has been exceeded.
   if ($batch['progressive']) {
     Timer::start('batch_processing');
   }
diff --git a/core/includes/install.core.inc b/core/includes/install.core.inc
index d6e40d1..1854699 100644
--- a/core/includes/install.core.inc
+++ b/core/includes/install.core.inc
@@ -157,7 +157,8 @@ function install_drupal($settings = array()) {
  * be used to programmatically submit forms during the installation; the keys
  * of each element indicate the name of the installation task that the form
  * submission is for, and the values are used as the $form_state->getValues()
- * array that is passed on to the form submission via drupal_form_submit()).
+ * array that is passed on to the form submission via
+ * \Drupal::formBuilder()->submitForm()).
  *
  * @see \Drupal\Core\Form\FormBuilderInterface::submitForm()
  */
@@ -184,7 +185,7 @@ function install_state_defaults() {
     // installation. The keys of each element indicate the name of the
     // installation task that the form submission is for, and the values are
     // used as the $form_state->getValues() array that is passed on to the form
-    // submission via drupal_form_submit().
+    // submission via \Drupal::formBuilder()->submitForm().
     'forms' => array(),
     // This becomes TRUE only at the end of the installation process, after
     // all available tasks have been completed and Drupal is fully installed.
diff --git a/core/lib/Drupal/Core/Form/FormBuilderInterface.php b/core/lib/Drupal/Core/Form/FormBuilderInterface.php
index 43d2e9f..5f8b452 100644
--- a/core/lib/Drupal/Core/Form/FormBuilderInterface.php
+++ b/core/lib/Drupal/Core/Form/FormBuilderInterface.php
@@ -150,7 +150,7 @@ public function rebuildForm($form_id, FormStateInterface &$form_state, $old_form
    *   @code
    *   $form_state->setValues($my_form_values);
    *   $form_state->addBuildInfo('args', [&$object]);
-   *   drupal_form_submit('mymodule_form', $form_state);
+   *   \Drupal::formBuilder()->submitForm('mymodule_form', $form_state);
    *   @endcode
    * For example:
    * @code
@@ -162,7 +162,7 @@ public function rebuildForm($form_id, FormStateInterface &$form_state, $old_form
    * $values['pass']['pass2'] = 'password';
    * $values['op'] = t('Create new account');
    * $form_state->setValues($values);
-   * drupal_form_submit('user_register_form', $form_state);
+   * \Drupal::formBuilder()->submitForm('user_register_form', $form_state);
    * @endcode
    */
   public function submitForm($form_arg, FormStateInterface &$form_state);
diff --git a/core/lib/Drupal/Core/Render/Element/Checkboxes.php b/core/lib/Drupal/Core/Render/Element/Checkboxes.php
index 303b6e3..cb0242a 100644
--- a/core/lib/Drupal/Core/Render/Element/Checkboxes.php
+++ b/core/lib/Drupal/Core/Render/Element/Checkboxes.php
@@ -95,12 +95,12 @@ public static function valueCallback(&$element, $input, FormStateInterface $form
     }
     elseif (is_array($input)) {
       // Programmatic form submissions use NULL to indicate that a checkbox
-      // should be unchecked; see drupal_form_submit(). We therefore remove all
-      // NULL elements from the array before constructing the return value, to
-      // simulate the behavior of web browsers (which do not send unchecked
-      // checkboxes to the server at all). This will not affect non-programmatic
-      // form submissions, since all values in \Drupal::request()->request are
-      // strings.
+      // should be unchecked; see \Drupal::formBuilder()->submitForm(). We
+      // therefore remove all NULL elements from the array before constructing
+      // the return value, to simulate the behavior of web browsers (which do
+      // not send unchecked checkboxes to the server at all). This will not
+      // affect non-programmatic form submissions, since all values in
+      // \Drupal::request()->request are strings.
       foreach ($input as $key => $value) {
         if (!isset($value)) {
           unset($input[$key]);
diff --git a/core/modules/simpletest/src/InstallerTestBase.php b/core/modules/simpletest/src/InstallerTestBase.php
index 90f318b..9ed4db7 100644
--- a/core/modules/simpletest/src/InstallerTestBase.php
+++ b/core/modules/simpletest/src/InstallerTestBase.php
@@ -94,7 +94,7 @@ protected function setUp() {
     }
 
     // Note that WebTestBase::installParameters() returns form input values
-    // suitable for a programmed drupal_form_submit().
+    // suitable for a programmed \Drupal::formBuilder()->submitForm().
     // @see WebTestBase::translatePostValues()
     $this->parameters = $this->installParameters();
 
diff --git a/core/modules/system/src/Tests/Batch/ProcessingTest.php b/core/modules/system/src/Tests/Batch/ProcessingTest.php
index 238c54b..3cc7d01 100644
--- a/core/modules/system/src/Tests/Batch/ProcessingTest.php
+++ b/core/modules/system/src/Tests/Batch/ProcessingTest.php
@@ -129,14 +129,14 @@ function testBatchFormProgrammatic() {
   }
 
   /**
-   * Tests that drupal_form_submit() can run within a batch operation.
+   * Tests \Drupal::formBuilder()->submitForm() within a batch operation.
    */
   function testDrupalFormSubmitInBatch() {
     // Displaying the page triggers a batch that programmatically submits a
     // form.
     $value = rand(0, 255);
     $this->drupalGet('batch-test/nested-programmatic/' . $value);
-    $this->assertEqual(batch_test_stack(), array('mock form submitted with value = ' . $value), 'drupal_form_submit() ran successfully within a batch operation.');
+    $this->assertEqual(batch_test_stack(), array('mock form submitted with value = ' . $value), '\Drupal::formBuilder()->submitForm() ran successfully within a batch operation.');
   }
 
   /**
diff --git a/core/modules/system/tests/modules/batch_test/batch_test.module b/core/modules/system/tests/modules/batch_test/batch_test.module
index 9cb123c..e188b9a 100644
--- a/core/modules/system/tests/modules/batch_test/batch_test.module
+++ b/core/modules/system/tests/modules/batch_test/batch_test.module
@@ -8,7 +8,7 @@
 use Drupal\Core\Form\FormState;
 
 /**
- * Batch operation: Submits form_test_mock_form() using drupal_form_submit().
+ * Batch operation: \Drupal::formBuilder()->submitForm() submits a mock form.
  */
 function _batch_test_nested_drupal_form_submit_callback($value) {
   $form_state = (new FormState())
diff --git a/core/modules/system/tests/modules/batch_test/src/Controller/BatchTestController.php b/core/modules/system/tests/modules/batch_test/src/Controller/BatchTestController.php
index d6829fa..df3a672 100644
--- a/core/modules/system/tests/modules/batch_test/src/Controller/BatchTestController.php
+++ b/core/modules/system/tests/modules/batch_test/src/Controller/BatchTestController.php
@@ -76,7 +76,7 @@ public function testNoForm() {
    * Submits the 'Chained' form programmatically.
    *
    * Programmatic form: the page submits the 'Chained' form through
-   * drupal_form_submit().
+   * \Drupal::formBuilder()->submitForm().
    *
    * @param int $value
    *   Some value passed to a the chained form.
